Microsoft Dynamics SL

Supplier vouchers and original lines — Pro

Company/date selection, original supplier invoice references, balances and currencies; on-demand original voucher lines.

UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION.

For purchasing teams, accountants and managers: choose company and document-date period, find a supplier voucher, inspect its supplier invoice number, due date, original amounts, separate currency balances, discount values and hold description. Open Voucher lines only when needed to inspect the original description, product, quantity, unit, account/subaccount, purchase/receipt references and project/task context.

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 sub-button. 40 document and 44 line values in grouped Details, eight useful fields per card, Search, native date-period selection and a mandatory company choice at opening. Each live list is capped at 1,000 rows; no automatic refresh or all-lines preload. Identity checks may scan beyond the visible cap; real performance is unmeasured.

Scope: original APDoc vouchers VO and credit adjustments AC only. These source type codes are identified in Microsoft migration code; they do not mean every AP document is a supplier invoice. Checks, payments, debit adjustments, payment eligibility, supplier statements and complete AP reporting are not included. Original APDoc.VendName is retained. No current Vendor record replaces the original name, references or currency.

Documentary basis: pinned Microsoft source registrations and declarations plus the Microsoft Dynamics SL 2015 SDK (published September 2014, publicly mirrored). Its example copies document reference and type into the AP line and assigns its supplier from the selected Vendor. Company, supplier and batch are additional conservative matching checks. This is not a certified physical FK, installed-release dictionary or proof that all transaction classes have this layout. Adapt and test the configuration on the authorised installation.

No RecordID origin is guessed or required. Derived company/supplier/batch/type/reference document identity must be unique. Lines require positive integral LineId values unique within the matching document context, as in the SDK new-line example, not a certified SQL primary key. Duplicate or invalid document identities fail closed. Missing, invalid or ambiguous lines preserve the document and return no child rows rather than choosing a first match. All 38 selected original parent values are rechecked losslessly before opening lines; refresh the document if it changed. Other line layouts can produce no matching rows.

All stored amounts, balances, prices, quantities, currency identifiers and rate fields remain separate. The SDK identifies APTran.CuryTranAmt as transaction currency and TranAmt as base currency, but the base ISO code is not supplied or assumed here. Other currency-labelled values are native source values, not a computed conversion. No currency symbol, FX, signed net, quantity-times-price, discount/tax calculation, aggregation or inferred paid/unpaid status. Negative, zero and absent business values are preserved. Status, DocClass, Rlsed, OpenDoc, DrCr and TranClass stay native values, not a complete enum or eligibility map.

Opening period applies to DocDate, not invoice/line/service date or fiscal posting period. Original DateTime and buffer Date declarations are distinguished; installed SQL storage/timezone remain unverified. Fiscal period codes are not converted into calendar dates. Bank details, personal tax identifiers, employee/payroll fields, technical RecordID/NoteID, audit users and unknown custom fields are omitted.

Documentary and adapted synthetic Cifru DEMO checks only; not tested on a real Dynamics SL/SQL Server installation or iOS. Validate version, dbo owner, business database, selected columns, read-only SQL compatibility, indexes and performance during import. Require administrator-scoped SELECT-only reporting permissions. Direct SQL and company/date/type filters do not inherit ERP/company ACL. Migration/SDK examples are consulted, never executed. No credentials or live business data are embedded. Native screenshots must use entirely fictional DEMO data; eight images are representative, not exhaustive. Raw recordings require a separate moving-footage review before video publication.

Unofficial, not Microsoft endorsed. Dynamics SL is a legacy installed-base product, not a current top-three or no-mobile claim.

Microsoft SDK context, printed pp.135–137 and 146–147: https://www.solomoncloudsolutions.com/uploads/5/2/7/9/52794453/softwaredevelopmentkit.pdf
Original APDoc declaration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/History/SLAPDoc.Table.al
Original APTran declaration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/History/SLAPTran.Table.al
Source registration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al
Voucher type context: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al

What this package creates

1 Home1 Details2 lists1 sources to map
  • Home: Supplier voucher dossier
  • Details: Voucher lines
  • Sub-button: Voucher lines

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.CpnyID AS nvarchar(max))) AS CpnyID,m.VendId AS VendId,m.VendName AS VendName,m.DocDesc AS DocDesc,m.RefNbr AS RefNbr,m.DocType AS DocType,m.BatNbr AS BatNbr,m.BatSeq AS BatSeq,m.Acct AS Acct,m.Sub AS Sub,m.InvcNbr AS InvcNbr,m.InvcDate AS InvcDate,m.DocDate AS DocDate,m.DueDate AS DueDate,m.PONbr AS PONbr,m.Terms AS Terms,m.Status AS Status,m.DocClass AS DocClass,m.Rlsed AS Rlsed,m.OpenDoc AS OpenDoc,m.OrigDocAmt AS OrigDocAmt,m.DocBal AS DocBal,m.CuryOrigDocAmt AS CuryOrigDocAmt,m.CuryDocBal AS CuryDocBal,m.CuryId AS CuryId,m.CuryEffDate AS CuryEffDate,m.CuryRate AS CuryRate,m.CuryMultDiv AS CuryMultDiv,m.CuryRateType AS CuryRateType,m.DiscDate AS DiscDate,m.DiscBal AS DiscBal,m.CuryDiscBal AS CuryDiscBal,m.DiscTkn AS DiscTkn,m.CuryDiscTkn AS CuryDiscTkn,m.ProjectID AS ProjectID,m.Subcontract AS Subcontract,m.Retention AS Retention,m.PayHoldDesc AS PayHoldDesc,CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS DocumentKey,CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END) AS DocumentContext,CASE WHEN NOT (NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) AND (TRY_CONVERT(int,bad.LineId) IS NULL OR TRY_CONVERT(int,bad.LineId)<=0 OR NOT (RTRIM(CAST(bad.LineId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.LineId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))))))) AND NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) GROUP BY bad.LineId HAVING COUNT(1)<>1)) THEN N'Ambiguous / invalid original lines' WHEN EXISTS (SELECT 1 FROM dbo.APTran p WHERE (RTRIM(CAST(p.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(p.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(p.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(p.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(p.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max)))))) THEN N'Original lines on demand' ELSE N'No matching original lines' END AS LineAvailability,N'Original VO/AC document; native amounts and states, not payment eligibility or all AP documents' AS DocumentScope FROM dbo.APDoc m WHERE ((RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND ((bad.CpnyID IS NULL OR RTRIM(CAST(bad.CpnyID AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))>20) OR (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.BatNbr IS NULL OR RTRIM(CAST(bad.BatNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))>20) OR (bad.DocType IS NULL OR RTRIM(CAST(bad.DocType AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))>4) OR (bad.RefNbr IS NULL OR RTRIM(CAST(bad.RefNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) GROUP BY CAST(RTRIM(CAST(bad.CpnyID AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max)))),CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))),CAST(RTRIM(CAST(bad.BatNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max)))),CAST(RTRIM(CAST(bad.DocType AS nvarchar(max))) AS nvarchar(2)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max)))),CAST(RTRIM(CAST(bad.RefNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max)))) HAVING COUNT(1)<>1)

static read-only checks passed

Statically verified read-only$.components.workspaceSelection.datasets.1.sqlQuery
SELECT a.CpnyID AS CpnyID,a.VendId AS VendId,a.RefNbr AS RefNbr,a.trantype AS trantype,a.BatNbr AS BatNbr,a.LineId AS LineId,a.LineNbr AS LineNbr,a.Acct AS Acct,a.Sub AS Sub,a.TranDesc AS TranDesc,a.TranDate AS TranDate,a.ExtRefNbr AS ExtRefNbr,a.DrCr AS DrCr,a.TranClass AS TranClass,a.Qty AS Qty,a.UnitDesc AS UnitDesc,a.UnitPrice AS UnitPrice,a.TranAmt AS TranAmt,a.CuryId AS CuryId,a.CuryUnitPrice AS CuryUnitPrice,a.CuryTranAmt AS CuryTranAmt,a.CuryRate AS CuryRate,a.CuryMultDiv AS CuryMultDiv,a.InvtID AS InvtID,a.SiteId AS SiteId,a.PONbr AS PONbr,a.POLineRef AS POLineRef,a.RcptNbr AS RcptNbr,a.RcptLineRef AS RcptLineRef,a.POQty AS POQty,a.RcptQty AS RcptQty,a.ProjectID AS ProjectID,a.TaskID AS TaskID,a.ServiceDate AS ServiceDate,a.PerEnt AS PerEnt,a.PerPost AS PerPost,a.JrnlType AS JrnlType,a.Rlsed AS Rlsed,a.TaxCat AS TaxCat,a.TaxIdDflt AS TaxIdDflt,CONCAT(CASE WHEN CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS nvarchar(max))),N':',CAST(CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(a.LineId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.LineId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.LineId AS nvarchar(max))) AS nvarchar(max)),N';') END) AS VoucherLineKey,CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS DocumentKey,CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END) AS DocumentContext,m.InvcNbr AS ParentInvoice,m.DocDesc AS ParentDescription,m.DueDate AS ParentDueDate,N'Original matching line; document context kept separate, no current supplier or calculated totals' AS LineScope FROM dbo.APTran a INNER JOIN dbo.APDoc m ON (RTRIM(CAST(a.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(a.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(a.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(a.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(a.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) WHERE ((RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND ((bad.CpnyID IS NULL OR RTRIM(CAST(bad.CpnyID AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))>20) OR (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.BatNbr IS NULL OR RTRIM(CAST(bad.BatNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))>20) OR (bad.DocType IS NULL OR RTRIM(CAST(bad.DocType AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))>4) OR (bad.RefNbr IS NULL OR RTRIM(CAST(bad.RefNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) GROUP BY CAST(RTRIM(CAST(bad.CpnyID AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max)))),CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))),CAST(RTRIM(CAST(bad.BatNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max)))),CAST(RTRIM(CAST(bad.DocType AS nvarchar(max))) AS nvarchar(2)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max)))),CAST(RTRIM(CAST(bad.RefNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max)))) HAVING COUNT(1)<>1) AND NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) AND (TRY_CONVERT(int,bad.LineId) IS NULL OR TRY_CONVERT(int,bad.LineId)<=0 OR NOT (RTRIM(CAST(bad.LineId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.LineId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))))))) AND NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) GROUP BY bad.LineId HAVING COUNT(1)<>1) AND (CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:document COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END))=DATALENGTH(:document)) AND (CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:documentContext COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END))=DATALENGTH(:documentContext)) AND (RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:company AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:company AS nvarchar(max)))))

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": "F9F13424-E35B-5EEE-8FF6-65D0011E3031",
                "kind": "sqlServer",
                "requiredObjects": [
                    "dbo.APDoc",
                    "dbo.APTran"
                ],
                "requiresCustomSQL": false
            }
        ],
        "workspaceSelection": {
            "commonFields": [],
            "datasets": [
                {
                    "cacheMode": "live",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "",
                    "fetchSortRules": [
                        {
                            "direction": "descending",
                            "id": "05BBEE1C-9832-5C04-8237-2BFCDD38859E",
                            "key": "DocDate",
                            "type": "date"
                        },
                        {
                            "direction": "ascending",
                            "id": "6C99D094-05D0-5681-9500-0CA5504BECC9",
                            "key": "DocumentKey",
                            "type": "text"
                        }
                    ],
                    "id": "4864FC84-3954-53D2-A685-CC48D2DB17F0",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "DocumentKey",
                            "label": "Internal selected document identity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocumentKey",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocumentContext",
                            "label": "Internal selected document identity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocumentContext",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CpnyID",
                            "label": "Original company business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CpnyID",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "VendId",
                            "label": "Original supplier business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "VendId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "VendName",
                            "label": "Stored document supplier name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "VendName",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocDesc",
                            "label": "Document description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocDesc",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "RefNbr",
                            "label": "Document reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "RefNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocType",
                            "label": "Document type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocType",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BatNbr",
                            "label": "Original batch number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BatNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BatSeq",
                            "label": "Stored batch sequence",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BatSeq",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Acct",
                            "label": "Original header account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Acct",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Sub",
                            "label": "Original header subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Sub",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "InvcNbr",
                            "label": "Supplier invoice number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "InvcNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "InvcDate",
                            "label": "Stored supplier invoice date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "InvcDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocDate",
                            "label": "Stored document date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DueDate",
                            "label": "Stored due date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DueDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "PONbr",
                            "label": "Original purchase order reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "PONbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Terms",
                            "label": "Payment terms code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Terms",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Status",
                            "label": "Stored document status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Status",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocClass",
                            "label": "Stored document class code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocClass",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Rlsed",
                            "label": "Stored released value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Rlsed",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "OpenDoc",
                            "label": "Stored open-document value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "OpenDoc",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "OrigDocAmt",
                            "label": "Stored original document amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "OrigDocAmt",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocBal",
                            "label": "Stored document balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocBal",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryOrigDocAmt",
                            "label": "Stored currency original amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryOrigDocAmt",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryDocBal",
                            "label": "Stored currency document balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryDocBal",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryId",
                            "label": "Stored document currency code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryEffDate",
                            "label": "Stored currency effective date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryEffDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryRate",
                            "label": "Stored exchange-rate value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryRate",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryMultDiv",
                            "label": "Stored rate multiplier/divisor code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryMultDiv",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryRateType",
                            "label": "Stored exchange-rate type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryRateType",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DiscDate",
                            "label": "Stored discount date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DiscDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DiscBal",
                            "label": "Stored discount balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DiscBal",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryDiscBal",
                            "label": "Stored currency discount balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryDiscBal",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DiscTkn",
                            "label": "Stored discount taken value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DiscTkn",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryDiscTkn",
                            "label": "Stored currency discount taken value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryDiscTkn",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectID",
                            "label": "Original header project code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectID",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Subcontract",
                            "label": "Original subcontract reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Subcontract",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Retention",
                            "label": "Stored retention value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Retention",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "PayHoldDesc",
                            "label": "Stored payment-hold description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "PayHoldDesc",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "LineAvailability",
                            "label": "On-demand original lines",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "LineAvailability",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocumentScope",
                            "label": "Document scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocumentScope",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        }
                    ],
                    "maxRows": 1000,
                    "name": "Supplier voucher dossier",
                    "primaryKey": "DocumentKey",
                    "queryParameters": [],
                    "refreshPolicy": {
                        "enabled": false,
                        "intervalMinutes": 60
                    },
                    "rootArrayPath": "",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "CpnyID",
                        "VendId",
                        "VendName",
                        "DocDesc",
                        "RefNbr",
                        "DocType",
                        "BatNbr",
                        "BatSeq",
                        "Acct",
                        "Sub",
                        "InvcNbr",
                        "InvcDate",
                        "DocDate",
                        "DueDate",
                        "PONbr",
                        "Terms",
                        "Status",
                        "DocClass",
                        "Rlsed",
                        "OpenDoc",
                        "OrigDocAmt",
                        "DocBal",
                        "CuryOrigDocAmt",
                        "CuryDocBal",
                        "CuryId",
                        "CuryEffDate",
                        "CuryRate",
                        "CuryMultDiv",
                        "CuryRateType",
                        "DiscDate",
                        "DiscBal",
                        "CuryDiscBal",
                        "DiscTkn",
                        "CuryDiscTkn",
                        "ProjectID",
                        "Subcontract",
                        "Retention",
                        "PayHoldDesc",
                        "LineAvailability",
                        "DocumentScope"
                    ],
                    "sourceID": "F9F13424-E35B-5EEE-8FF6-65D0011E3031",
                    "sqlQuery": "SELECT RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS CpnyID,m.VendId AS VendId,m.VendName AS VendName,m.DocDesc AS DocDesc,m.RefNbr AS RefNbr,m.DocType AS DocType,m.BatNbr AS BatNbr,m.BatSeq AS BatSeq,m.Acct AS Acct,m.Sub AS Sub,m.InvcNbr AS InvcNbr,m.InvcDate AS InvcDate,m.DocDate AS DocDate,m.DueDate AS DueDate,m.PONbr AS PONbr,m.Terms AS Terms,m.Status AS Status,m.DocClass AS DocClass,m.Rlsed AS Rlsed,m.OpenDoc AS OpenDoc,m.OrigDocAmt AS OrigDocAmt,m.DocBal AS DocBal,m.CuryOrigDocAmt AS CuryOrigDocAmt,m.CuryDocBal AS CuryDocBal,m.CuryId AS CuryId,m.CuryEffDate AS CuryEffDate,m.CuryRate AS CuryRate,m.CuryMultDiv AS CuryMultDiv,m.CuryRateType AS CuryRateType,m.DiscDate AS DiscDate,m.DiscBal AS DiscBal,m.CuryDiscBal AS CuryDiscBal,m.DiscTkn AS DiscTkn,m.CuryDiscTkn AS CuryDiscTkn,m.ProjectID AS ProjectID,m.Subcontract AS Subcontract,m.Retention AS Retention,m.PayHoldDesc AS PayHoldDesc,CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS DocumentKey,CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END) AS DocumentContext,CASE WHEN NOT (NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) AND (TRY_CONVERT(int,bad.LineId) IS NULL OR TRY_CONVERT(int,bad.LineId)<=0 OR NOT (RTRIM(CAST(bad.LineId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.LineId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))))))) AND NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) GROUP BY bad.LineId HAVING COUNT(1)<>1)) THEN N'Ambiguous / invalid original lines' WHEN EXISTS (SELECT 1 FROM dbo.APTran p WHERE (RTRIM(CAST(p.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(p.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(p.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(p.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(p.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(p.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max)))))) THEN N'Original lines on demand' ELSE N'No matching original lines' END AS LineAvailability,N'Original VO/AC document; native amounts and states, not payment eligibility or all AP documents' AS DocumentScope FROM dbo.APDoc m WHERE ((RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND ((bad.CpnyID IS NULL OR RTRIM(CAST(bad.CpnyID AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))>20) OR (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.BatNbr IS NULL OR RTRIM(CAST(bad.BatNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))>20) OR (bad.DocType IS NULL OR RTRIM(CAST(bad.DocType AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))>4) OR (bad.RefNbr IS NULL OR RTRIM(CAST(bad.RefNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) GROUP BY CAST(RTRIM(CAST(bad.CpnyID AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max)))),CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))),CAST(RTRIM(CAST(bad.BatNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max)))),CAST(RTRIM(CAST(bad.DocType AS nvarchar(max))) AS nvarchar(2)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max)))),CAST(RTRIM(CAST(bad.RefNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max)))) HAVING COUNT(1)<>1)",
                    "tableName": ""
                },
                {
                    "cacheMode": "live",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "",
                    "fetchSortRules": [
                        {
                            "direction": "ascending",
                            "id": "23786848-728D-522B-ADC3-58CC4824942A",
                            "key": "LineId",
                            "type": "number"
                        },
                        {
                            "direction": "ascending",
                            "id": "5EB64448-1B7D-550B-B7AE-A0AF1924F7CA",
                            "key": "VoucherLineKey",
                            "type": "text"
                        }
                    ],
                    "id": "4B65E1A6-426D-5439-8FCE-353CBD05D62F",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "VoucherLineKey",
                            "label": "Internal selected document identity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "VoucherLineKey",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocumentKey",
                            "label": "Internal selected document identity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocumentKey",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DocumentContext",
                            "label": "Internal selected document identity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DocumentContext",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CpnyID",
                            "label": "Original line company code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CpnyID",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "VendId",
                            "label": "Original line supplier code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "VendId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "RefNbr",
                            "label": "Original line reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "RefNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "trantype",
                            "label": "Original line type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "trantype",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BatNbr",
                            "label": "Original line batch",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BatNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "LineId",
                            "label": "Original document line number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "LineId",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "LineNbr",
                            "label": "Separate stored transaction line number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "LineNbr",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Acct",
                            "label": "Original line account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Acct",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Sub",
                            "label": "Original line subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Sub",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TranDesc",
                            "label": "Original line description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TranDesc",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TranDate",
                            "label": "Stored line transaction date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TranDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ExtRefNbr",
                            "label": "Original line external reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ExtRefNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "DrCr",
                            "label": "Stored debit/credit code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "DrCr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TranClass",
                            "label": "Stored transaction class",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TranClass",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Qty",
                            "label": "Stored line quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Qty",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "UnitDesc",
                            "label": "Stored line unit description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "UnitDesc",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "UnitPrice",
                            "label": "Stored unit-price value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "UnitPrice",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TranAmt",
                            "label": "Stored base transaction amount — SDK context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TranAmt",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryId",
                            "label": "Stored line currency code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryUnitPrice",
                            "label": "Separate stored currency unit-price value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryUnitPrice",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryTranAmt",
                            "label": "Stored transaction-currency amount — SDK context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryTranAmt",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryRate",
                            "label": "Stored line exchange-rate value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryRate",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryMultDiv",
                            "label": "Stored line rate multiplier/divisor",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryMultDiv",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "InvtID",
                            "label": "Original product business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "InvtID",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "SiteId",
                            "label": "Original site business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "SiteId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "PONbr",
                            "label": "Original line purchase order",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "PONbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "POLineRef",
                            "label": "Original purchase-order line reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "POLineRef",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "RcptNbr",
                            "label": "Original receipt reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "RcptNbr",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "RcptLineRef",
                            "label": "Original receipt line reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "RcptLineRef",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "POQty",
                            "label": "Separate stored purchase-order quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "POQty",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "RcptQty",
                            "label": "Separate stored receipt quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "RcptQty",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectID",
                            "label": "Original line project code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectID",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TaskID",
                            "label": "Original line task code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaskID",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ServiceDate",
                            "label": "Stored line service date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ServiceDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "PerEnt",
                            "label": "Stored entered fiscal period",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "PerEnt",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "PerPost",
                            "label": "Stored posting fiscal period",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "PerPost",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "JrnlType",
                            "label": "Stored journal type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "JrnlType",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "Rlsed",
                            "label": "Stored line released value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "Rlsed",
                            "type": "number",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TaxCat",
                            "label": "Stored tax category code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaxCat",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TaxIdDflt",
                            "label": "Stored default tax code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaxIdDflt",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ParentInvoice",
                            "label": "Selected supplier invoice number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ParentInvoice",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ParentDescription",
                            "label": "Selected document description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ParentDescription",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ParentDueDate",
                            "label": "Selected document due date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ParentDueDate",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "LineScope",
                            "label": "Line scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "LineScope",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        }
                    ],
                    "maxRows": 1000,
                    "name": "Original voucher lines",
                    "primaryKey": "VoucherLineKey",
                    "queryParameters": [
                        {
                            "constantValue": "",
                            "dayOffset": 0,
                            "fieldKey": "DocumentKey",
                            "id": "A230B411-E474-5FED-87C4-FC3EF5594796",
                            "name": "document",
                            "source": "parentField",
                            "type": "text"
                        },
                        {
                            "constantValue": "",
                            "dayOffset": 0,
                            "fieldKey": "DocumentContext",
                            "id": "62EC0545-B093-557C-9C37-4035313A9D0D",
                            "name": "documentContext",
                            "source": "parentField",
                            "type": "text"
                        },
                        {
                            "constantValue": "",
                            "dayOffset": 0,
                            "fieldKey": "CpnyID",
                            "id": "5E61DEBA-D278-53C6-AB46-7A46B52E2EE5",
                            "name": "company",
                            "source": "parentField",
                            "type": "text"
                        }
                    ],
                    "refreshPolicy": {
                        "enabled": false,
                        "intervalMinutes": 60
                    },
                    "rootArrayPath": "",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "CpnyID",
                        "VendId",
                        "RefNbr",
                        "trantype",
                        "BatNbr",
                        "LineId",
                        "LineNbr",
                        "Acct",
                        "Sub",
                        "TranDesc",
                        "TranDate",
                        "ExtRefNbr",
                        "DrCr",
                        "TranClass",
                        "Qty",
                        "UnitDesc",
                        "UnitPrice",
                        "TranAmt",
                        "CuryId",
                        "CuryUnitPrice",
                        "CuryTranAmt",
                        "CuryRate",
                        "CuryMultDiv",
                        "InvtID",
                        "SiteId",
                        "PONbr",
                        "POLineRef",
                        "RcptNbr",
                        "RcptLineRef",
                        "POQty",
                        "RcptQty",
                        "ProjectID",
                        "TaskID",
                        "ServiceDate",
                        "PerEnt",
                        "PerPost",
                        "JrnlType",
                        "Rlsed",
                        "TaxCat",
                        "TaxIdDflt",
                        "ParentInvoice",
                        "ParentDescription",
                        "ParentDueDate",
                        "LineScope"
                    ],
                    "sourceID": "F9F13424-E35B-5EEE-8FF6-65D0011E3031",
                    "sqlQuery": "SELECT a.CpnyID AS CpnyID,a.VendId AS VendId,a.RefNbr AS RefNbr,a.trantype AS trantype,a.BatNbr AS BatNbr,a.LineId AS LineId,a.LineNbr AS LineNbr,a.Acct AS Acct,a.Sub AS Sub,a.TranDesc AS TranDesc,a.TranDate AS TranDate,a.ExtRefNbr AS ExtRefNbr,a.DrCr AS DrCr,a.TranClass AS TranClass,a.Qty AS Qty,a.UnitDesc AS UnitDesc,a.UnitPrice AS UnitPrice,a.TranAmt AS TranAmt,a.CuryId AS CuryId,a.CuryUnitPrice AS CuryUnitPrice,a.CuryTranAmt AS CuryTranAmt,a.CuryRate AS CuryRate,a.CuryMultDiv AS CuryMultDiv,a.InvtID AS InvtID,a.SiteId AS SiteId,a.PONbr AS PONbr,a.POLineRef AS POLineRef,a.RcptNbr AS RcptNbr,a.RcptLineRef AS RcptLineRef,a.POQty AS POQty,a.RcptQty AS RcptQty,a.ProjectID AS ProjectID,a.TaskID AS TaskID,a.ServiceDate AS ServiceDate,a.PerEnt AS PerEnt,a.PerPost AS PerPost,a.JrnlType AS JrnlType,a.Rlsed AS Rlsed,a.TaxCat AS TaxCat,a.TaxIdDflt AS TaxIdDflt,CONCAT(CASE WHEN CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS nvarchar(max))),N':',CAST(CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(a.LineId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.LineId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.LineId AS nvarchar(max))) AS nvarchar(max)),N';') END) AS VoucherLineKey,CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) AS DocumentKey,CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END) AS DocumentContext,m.InvcNbr AS ParentInvoice,m.DocDesc AS ParentDescription,m.DueDate AS ParentDueDate,N'Original matching line; document context kept separate, no current supplier or calculated totals' AS LineScope FROM dbo.APTran a INNER JOIN dbo.APDoc m ON (RTRIM(CAST(a.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(a.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(a.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(a.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(a.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) WHERE ((RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) AND ((bad.CpnyID IS NULL OR RTRIM(CAST(bad.CpnyID AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))>20) OR (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.BatNbr IS NULL OR RTRIM(CAST(bad.BatNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))>20) OR (bad.DocType IS NULL OR RTRIM(CAST(bad.DocType AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))>4) OR (bad.RefNbr IS NULL OR RTRIM(CAST(bad.RefNbr AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.APDoc bad WHERE ((RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'VO' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'VO')) OR (RTRIM(CAST(bad.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'AC' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max))))=DATALENGTH(N'AC'))) GROUP BY CAST(RTRIM(CAST(bad.CpnyID AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max)))),CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))),CAST(RTRIM(CAST(bad.BatNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max)))),CAST(RTRIM(CAST(bad.DocType AS nvarchar(max))) AS nvarchar(2)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.DocType AS nvarchar(max)))),CAST(RTRIM(CAST(bad.RefNbr AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max)))) HAVING COUNT(1)<>1) AND NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) AND (TRY_CONVERT(int,bad.LineId) IS NULL OR TRY_CONVERT(int,bad.LineId)<=0 OR NOT (RTRIM(CAST(bad.LineId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.LineId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(TRY_CONVERT(int,bad.LineId) AS nvarchar(max))))))) AND NOT EXISTS (SELECT 1 FROM dbo.APTran bad WHERE (RTRIM(CAST(bad.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))) AND (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND (RTRIM(CAST(bad.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.BatNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.BatNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.BatNbr AS nvarchar(max))))) AND (RTRIM(CAST(bad.trantype AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.DocType AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.trantype AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.DocType AS nvarchar(max))))) AND (RTRIM(CAST(bad.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.RefNbr AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.RefNbr AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.RefNbr AS nvarchar(max))))) GROUP BY bad.LineId HAVING COUNT(1)<>1) AND (CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:document COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(CASE WHEN RTRIM(CAST(m.CpnyID AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.CpnyID AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.BatNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.BatNbr AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.DocType AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.DocType AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(m.RefNbr AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.RefNbr AS nvarchar(max))) AS nvarchar(max)),N';') END))=DATALENGTH(:document)) AND (CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:documentContext COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(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.VendId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.VendName),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDesc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.RefNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BatSeq),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Sub),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcNbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.InvcDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DueDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PONbr),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Terms),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Status),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocClass),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Rlsed),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OpenDoc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.OrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DocBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryOrigDocAmt),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDocBal),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.CuryEffDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryEffDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryMultDiv),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryRateType),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscDate),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscBal),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.DiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryDiscTkn),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjectID),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Subcontract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.Retention),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.PayHoldDesc),2) AS nvarchar(max)),N';') END))=DATALENGTH(:documentContext)) AND (RTRIM(CAST(m.CpnyID AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:company AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.CpnyID AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:company AS nvarchar(max)))))",
                    "tableName": ""
                }
            ],
            "pages": [
                {
                    "actions": [
                        {
                            "id": "1313EE7B-8210-5EDB-89C6-E2C81893DC4F",
                            "kind": "showRelated",
                            "relatedInitiallyExpanded": false,
                            "relatedPresentation": "separate",
                            "relatedPreviewLimit": 12,
                            "relatedRowStyle": "cards",
                            "relatedShowsCount": true,
                            "relationID": "55C562DB-D045-57C8-9ADB-478444FECE13",
                            "systemImage": "list.bullet.rectangle",
                            "targetDatasetID": "4B65E1A6-426D-5439-8FCE-353CBD05D62F",
                            "title": "Voucher lines",
                            "urlKey": ""
                        }
                    ],
                    "badgeKey": "",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocType",
                            "label": "Type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocDate",
                            "label": "Document date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DueDate",
                            "label": "Due date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryOrigDocAmt",
                            "label": "Original currency amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryDocBal",
                            "label": "Currency balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryId",
                            "label": "Source currency code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Status",
                            "label": "Status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "LineAvailability",
                            "label": "Original lines",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "datasetID": "4864FC84-3954-53D2-A685-CC48D2DB17F0",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "VendName",
                            "label": "Stored document supplier name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "VendId",
                            "label": "Original supplier business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocDesc",
                            "label": "Document description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "RefNbr",
                            "label": "Document reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocType",
                            "label": "Document type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CpnyID",
                            "label": "Original company business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BatNbr",
                            "label": "Original batch number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BatSeq",
                            "label": "Stored batch sequence",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Acct",
                            "label": "Original header account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original document identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Sub",
                            "label": "Original header subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Supplier invoice and purchasing references",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "InvcNbr",
                            "label": "Supplier invoice number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Supplier invoice and purchasing references",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "InvcDate",
                            "label": "Stored supplier invoice date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Supplier invoice and purchasing references",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "PONbr",
                            "label": "Original purchase order reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Supplier invoice and purchasing references",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Terms",
                            "label": "Payment terms code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Supplier invoice and purchasing references",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectID",
                            "label": "Original header project code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Supplier invoice and purchasing references",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Subcontract",
                            "label": "Original subcontract reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocDate",
                            "label": "Stored document date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DueDate",
                            "label": "Stored due date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Status",
                            "label": "Stored document status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocClass",
                            "label": "Stored document class code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Rlsed",
                            "label": "Stored released value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "OpenDoc",
                            "label": "Stored open-document value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Dates and stored states",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "PayHoldDesc",
                            "label": "Stored payment-hold description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate original amounts and balances",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "OrigDocAmt",
                            "label": "Stored original document amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate original amounts and balances",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocBal",
                            "label": "Stored document balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate original amounts and balances",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryOrigDocAmt",
                            "label": "Stored currency original amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate original amounts and balances",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryDocBal",
                            "label": "Stored currency document balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate original amounts and balances",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryId",
                            "label": "Stored document currency code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate original amounts and balances",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Retention",
                            "label": "Stored retention value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored currency context — no conversion",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryEffDate",
                            "label": "Stored currency effective date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored currency context — no conversion",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryRate",
                            "label": "Stored exchange-rate value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored currency context — no conversion",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryMultDiv",
                            "label": "Stored rate multiplier/divisor code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored currency context — no conversion",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryRateType",
                            "label": "Stored exchange-rate type",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored discount values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DiscDate",
                            "label": "Stored discount date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored discount values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DiscBal",
                            "label": "Stored discount balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored discount values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryDiscBal",
                            "label": "Stored currency discount balance",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored discount values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DiscTkn",
                            "label": "Stored discount taken value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored discount values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryDiscTkn",
                            "label": "Stored currency discount taken value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "On-demand lines and scope",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "LineAvailability",
                            "label": "On-demand original lines",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "On-demand lines and scope",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DocumentScope",
                            "label": "Document scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "detailLiveRefreshSeconds": 0,
                    "fixedFilters": [],
                    "id": "C468B916-F818-5CB9-9A5D-6BB054AEBF94",
                    "openFilters": [
                        {
                            "datePeriodOptions": [
                                "today",
                                "currentMonth",
                                "last7Days",
                                "last30Days",
                                "last90Days"
                            ],
                            "id": "02951988-4F1E-5E27-BD4A-8A2A9FEA39E0",
                            "includeAllOption": false,
                            "key": "DocDate",
                            "title": "Document-date period",
                            "type": "date"
                        },
                        {
                            "id": "6C289EEA-BF42-5BE7-A691-557C9389CF27",
                            "includeAllOption": false,
                            "key": "CpnyID",
                            "title": "Company",
                            "type": "text"
                        }
                    ],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": true,
                    "showOnHome": true,
                    "sortRules": [
                        {
                            "direction": "descending",
                            "id": "05BBEE1C-9832-5C04-8237-2BFCDD38859E",
                            "key": "DocDate",
                            "type": "date"
                        },
                        {
                            "direction": "ascending",
                            "id": "6C99D094-05D0-5681-9500-0CA5504BECC9",
                            "key": "DocumentKey",
                            "type": "text"
                        }
                    ],
                    "subtitle": "",
                    "subtitleKey": "InvcNbr",
                    "systemImage": "doc.text",
                    "title": "Supplier voucher dossier",
                    "titleKey": "VendName"
                },
                {
                    "actions": [],
                    "badgeKey": "",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Qty",
                            "label": "Quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "UnitDesc",
                            "label": "Unit",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryUnitPrice",
                            "label": "Currency unit price",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryTranAmt",
                            "label": "Currency amount",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryId",
                            "label": "Source currency code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Acct",
                            "label": "Account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Sub",
                            "label": "Subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectID",
                            "label": "Project code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "datasetID": "4B65E1A6-426D-5439-8FCE-353CBD05D62F",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TranDesc",
                            "label": "Original line description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "LineId",
                            "label": "Original document line number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "LineNbr",
                            "label": "Separate stored transaction line number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "RefNbr",
                            "label": "Original line reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "trantype",
                            "label": "Original line type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BatNbr",
                            "label": "Original line batch",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CpnyID",
                            "label": "Original line company code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "VendId",
                            "label": "Original line supplier code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Acct",
                            "label": "Original line account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Sub",
                            "label": "Original line subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "DrCr",
                            "label": "Stored debit/credit code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original line and accounting identity",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TranClass",
                            "label": "Stored transaction class",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored date and fiscal period codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TranDate",
                            "label": "Stored line transaction date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored date and fiscal period codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ServiceDate",
                            "label": "Stored line service date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored date and fiscal period codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "PerEnt",
                            "label": "Stored entered fiscal period",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored date and fiscal period codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "PerPost",
                            "label": "Stored posting fiscal period",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored date and fiscal period codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "JrnlType",
                            "label": "Stored journal type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Stored date and fiscal period codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Rlsed",
                            "label": "Stored line released value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original product, unit and separate quantities",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "InvtID",
                            "label": "Original product business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original product, unit and separate quantities",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "SiteId",
                            "label": "Original site business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original product, unit and separate quantities",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "Qty",
                            "label": "Stored line quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original product, unit and separate quantities",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "UnitDesc",
                            "label": "Stored line unit description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original product, unit and separate quantities",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "POQty",
                            "label": "Separate stored purchase-order quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original product, unit and separate quantities",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "RcptQty",
                            "label": "Separate stored receipt quantity",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "UnitPrice",
                            "label": "Stored unit-price value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TranAmt",
                            "label": "Stored base transaction amount — SDK context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryUnitPrice",
                            "label": "Separate stored currency unit-price value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryTranAmt",
                            "label": "Stored transaction-currency amount — SDK context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryId",
                            "label": "Stored line currency code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryRate",
                            "label": "Stored line exchange-rate value",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate stored price, amount and currency values",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryMultDiv",
                            "label": "Stored line rate multiplier/divisor",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ExtRefNbr",
                            "label": "Original line external reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "PONbr",
                            "label": "Original line purchase order",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "POLineRef",
                            "label": "Original purchase-order line reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "RcptNbr",
                            "label": "Original receipt reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "RcptLineRef",
                            "label": "Original receipt line reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectID",
                            "label": "Original line project code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaskID",
                            "label": "Original line task code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaxCat",
                            "label": "Stored tax category code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Original purchase, receipt and project context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaxIdDflt",
                            "label": "Stored default tax code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Selected document context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ParentInvoice",
                            "label": "Selected supplier invoice number",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Selected document context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ParentDescription",
                            "label": "Selected document description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Selected document context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ParentDueDate",
                            "label": "Selected document due date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Selected document context",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "LineScope",
                            "label": "Line scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "detailLiveRefreshSeconds": 0,
                    "fixedFilters": [],
                    "id": "41C494DC-CC90-5C9F-A822-064D8ADFE534",
                    "openFilters": [],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": false,
                    "showOnHome": false,
                    "sortRules": [
                        {
                            "direction": "ascending",
                            "id": "23786848-728D-522B-ADC3-58CC4824942A",
                            "key": "LineId",
                            "type": "number"
                        },
                        {
                            "direction": "ascending",
                            "id": "5EB64448-1B7D-550B-B7AE-A0AF1924F7CA",
                            "key": "VoucherLineKey",
                            "type": "text"
                        }
                    ],
                    "subtitle": "",
                    "subtitleKey": "InvtID",
                    "systemImage": "list.bullet",
                    "title": "Voucher lines",
                    "titleKey": "TranDesc"
                }
            ],
            "relations": [
                {
                    "childDatasetID": "4B65E1A6-426D-5439-8FCE-353CBD05D62F",
                    "childKey": "DocumentKey",
                    "id": "55C562DB-D045-57C8-9ADB-478444FECE13",
                    "name": "Voucher lines",
                    "parentDatasetID": "4864FC84-3954-53D2-A685-CC48D2DB17F0",
                    "parentKey": "DocumentKey"
                }
            ],
            "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 purchasing teams, accountants and managers: choose company and document-date period, find a supplier voucher, inspect its supplier invoice number, due date, original amounts, separate currency balances, discount values and hold description. Open Voucher lines only when needed to inspect the original description, product, quantity, unit, account/subaccount, purchase/receipt references and project/task context.\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 sub-button. 40 document and 44 line values in grouped Details, eight useful fields per card, Search, native date-period selection and a mandatory company choice at opening. Each live list is capped at 1,000 rows; no automatic refresh or all-lines preload. Identity checks may scan beyond the visible cap; real performance is unmeasured.\n\nScope: original APDoc vouchers VO and credit adjustments AC only. These source type codes are identified in Microsoft migration code; they do not mean every AP document is a supplier invoice. Checks, payments, debit adjustments, payment eligibility, supplier statements and complete AP reporting are not included. Original APDoc.VendName is retained. No current Vendor record replaces the original name, references or currency.\n\nDocumentary basis: pinned Microsoft source registrations and declarations plus the Microsoft Dynamics SL 2015 SDK (published September 2014, publicly mirrored). Its example copies document reference and type into the AP line and assigns its supplier from the selected Vendor. Company, supplier and batch are additional conservative matching checks. This is not a certified physical FK, installed-release dictionary or proof that all transaction classes have this layout. Adapt and test the configuration on the authorised installation.\n\nNo RecordID origin is guessed or required. Derived company/supplier/batch/type/reference document identity must be unique. Lines require positive integral LineId values unique within the matching document context, as in the SDK new-line example, not a certified SQL primary key. Duplicate or invalid document identities fail closed. Missing, invalid or ambiguous lines preserve the document and return no child rows rather than choosing a first match. All 38 selected original parent values are rechecked losslessly before opening lines; refresh the document if it changed. Other line layouts can produce no matching rows.\n\nAll stored amounts, balances, prices, quantities, currency identifiers and rate fields remain separate. The SDK identifies APTran.CuryTranAmt as transaction currency and TranAmt as base currency, but the base ISO code is not supplied or assumed here. Other currency-labelled values are native source values, not a computed conversion. No currency symbol, FX, signed net, quantity-times-price, discount/tax calculation, aggregation or inferred paid/unpaid status. Negative, zero and absent business values are preserved. Status, DocClass, Rlsed, OpenDoc, DrCr and TranClass stay native values, not a complete enum or eligibility map.\n\nOpening period applies to DocDate, not invoice/line/service date or fiscal posting period. Original DateTime and buffer Date declarations are distinguished; installed SQL storage/timezone remain unverified. Fiscal period codes are not converted into calendar dates. Bank details, personal tax identifiers, employee/payroll fields, technical RecordID/NoteID, audit users and unknown custom fields are omitted.\n\nDocumentary and adapted synthetic Cifru DEMO checks only; not tested on a real Dynamics SL/SQL Server installation or iOS. Validate version, dbo owner, business database, selected columns, read-only SQL compatibility, indexes and performance during import. Require administrator-scoped SELECT-only reporting permissions. Direct SQL and company/date/type filters do not inherit ERP/company ACL. Migration/SDK examples are consulted, never executed. No credentials or live business data are embedded. Native screenshots must use entirely fictional DEMO data; eight images are representative, not exhaustive. Raw recordings require a separate moving-footage review before video publication.\n\nUnofficial, not Microsoft endorsed. Dynamics SL is a legacy installed-base product, not a current top-three or no-mobile claim.\n\nMicrosoft SDK context, printed pp.135–137 and 146–147: https://www.solomoncloudsolutions.com/uploads/5/2/7/9/52794453/softwaredevelopmentkit.pdf\nOriginal APDoc declaration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/History/SLAPDoc.Table.al\nOriginal APTran declaration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/History/SLAPTran.Table.al\nSource registration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al\nVoucher type context: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al",
        "licenseCode": "Cifru-Community-1.0",
        "minimumCifruVersion": "1.1.0",
        "minimumPlan": "pro",
        "packageID": "BA7504A2-8217-509D-BAAA-33841D8E9975",
        "rootButtonCount": 1,
        "summary": "Company/date selection, original supplier invoice references, balances and currencies; on-demand original voucher lines.",
        "tags": [
            "Dynamics SL",
            "SQL Server",
            "Accounting",
            "Supplier invoices",
            "Vouchers",
            "Purchasing",
            "Pro"
        ],
        "title": "Supplier vouchers and original lines — 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.