Skip to main content
Answer

multi part identifier could not be bound - doc type

  • June 13, 2025
  • 7 replies
  • 72 views

I’m using GI as a datasource.   The datasource GI uses INKitRegister to group by site and date to create a total kit by day.  Then I’m trying to join to individual kit assembly to understand percentage of total for day.  I’m getting a multi-part identifier could could not be bound.  _INKitRegister.DocType. 

 

I added DocType to the results and tried to adjust the joins.  Any assistance is appreciated.

Best answer by lauraj46

Hi ​@mknapke ,

It might be related to this issue which is listed as a fix in the 2024 R2 release notes:

AC-304990: If a table had an alias specified by a user in a generic inquiry, and filtering by the table fields was 
applied in an OData request to this generic inquiry, the response contained the following error: The multi-part 
identifier could not be bound.

Hope this helps!

Laura 

7 replies

  • Author
  • Freshman I
  • June 16, 2025

Would it have anything to do with the display of the doctype changing?  I was able to get results by adding sort conditions vs. the standard values it was trying to reference.  However when I try to filter or resize columns, it throws the not bound error.


lauraj46
Captain II
Forum|alt.badge.img+8
  • Captain II
  • June 16, 2025

Hi ​@mknapke ,

See attached sample query.  This worked for me on version 2024 R2.  Join looks like this:

Hope this helps!

Laura


  • Author
  • Freshman I
  • June 16, 2025

Thanks Laura.  I’m in 2024 R1 Build 24.107.0004.  I tried adding the doctype to the join but I’m still having issues.  I think the syntax should be [Daily].[INKitRegister_docType] or [Daily_INKitRegister_docType] based on the trace.  

 

I’m curious what your order by sql statement looks like for the doctype = ‘P’ then ‘Assembly’ ….    Are you able to screenshot?


lauraj46
Captain II
Forum|alt.badge.img+8
  • Captain II
  • June 16, 2025

Hi ​@mknapke ,

The sort looks the same.  You also should be able to import the GI that I attached and give that a try to see if it works for you.


SELECT
TOP (17) [INKitRegister_INRegister].[DocType] AS [INKitRegister_DocType],
[INKitRegister_INRegister].[RefNbr] AS [INKitRegister_RefNbr],
[INKitRegister_INRegister].[TranDate] AS [INKitRegister_TranDate],
[INKitRegister_INRegister].[NoteID] AS [INKitRegister_NoteID],
[INKitRegister_INTran].[DocType] AS [INKitRegister_TranDocType],
[INKitRegister_INTran].[RefNbr] AS [INKitRegister_TranRefNbr],
[INKitRegister_INTran].[TranDate] AS [INKitRegister_TranTranDate],
[INKitRegister_INTran].[Qty] AS [INKitRegister_Qty],
[INKitRegister_INTran].[TranAmt] AS [INKitRegister_TranAmt],
[KitAssemblyDailyTotals].[INKitRegister_DocType] AS [KitAssemblyDailyTotals_INKitRegister_DocType],
[KitAssemblyDailyTotals].[INKitRegister_RefNbr] AS [KitAssemblyDailyTotals_INKitRegister_RefNbr],
[KitAssemblyDailyTotals].[INKitRegister_NoteID] AS [KitAssemblyDailyTotals_INKitRegister_NoteID],
[KitAssemblyDailyTotals].[INKitRegister_tranAmt] AS [KitAssemblyDailyTotals_INKitRegister_tranAmt],
[KitAssemblyDailyTotals].[INKitRegister_qty] AS [KitAssemblyDailyTotals_INKitRegister_qty],
[KitAssemblyDailyTotals].[INKitRegister_TranDocType] AS [KitAssemblyDailyTotals_INKitRegister_TranDocType],
[KitAssemblyDailyTotals].[INKitRegister_TranRefNbr] AS [KitAssemblyDailyTotals_INKitRegister_TranRefNbr]
FROM
(
[INRegister] [INKitRegister_INRegister]
INNER JOIN [INTran] [INKitRegister_INTran] ON ([INKitRegister_INTran].[CompanyID] = 2)
AND (
[INKitRegister_INTran].[BranchID] IS NULL
OR (
[INKitRegister_INTran].[BranchID] IN (22, 16, 20, 17, 21)
)
)
AND (
[INKitRegister_INTran].[DocType] = [INKitRegister_INRegister].[DocType]
AND [INKitRegister_INTran].[RefNbr] = [INKitRegister_INRegister].[RefNbr]
AND [INKitRegister_INTran].[LineNbr] = [INKitRegister_INRegister].[KitLineNbr]
)
)
INNER JOIN (
SELECT
[INKitRegister_INRegister].[DocType] AS [INKitRegister_DocType],
MAX([INKitRegister_INRegister].[RefNbr]) AS [INKitRegister_RefNbr],
[INKitRegister_INRegister].[TranDate] AS [INKitRegister_TranDate],
MAX([INKitRegister_INRegister].[NoteID]) AS [INKitRegister_NoteID],
MAX([INKitRegister_INTran].[DocType]) AS [INKitRegister_TranDocType],
MAX([INKitRegister_INTran].[RefNbr]) AS [INKitRegister_TranRefNbr],
SUM([INKitRegister_INTran].[Qty]) AS [INKitRegister_Qty],
SUM([INKitRegister_INTran].[TranAmt]) AS [INKitRegister_TranAmt]
FROM
(
[INRegister] [INKitRegister_INRegister]
INNER JOIN [INTran] [INKitRegister_INTran] ON ([INKitRegister_INTran].[CompanyID] = 2)
AND (
[INKitRegister_INTran].[BranchID] IS NULL
OR (
[INKitRegister_INTran].[BranchID] IN (22, 16, 20, 17, 21)
)
)
AND (
[INKitRegister_INTran].[DocType] = [INKitRegister_INRegister].[DocType]
AND [INKitRegister_INTran].[RefNbr] = [INKitRegister_INRegister].[RefNbr]
AND [INKitRegister_INTran].[LineNbr] = [INKitRegister_INRegister].[KitLineNbr]
)
)
WHERE
([INKitRegister_INRegister].[CompanyID] = 2)
AND (
[INKitRegister_INRegister].[BranchID] IS NULL
OR (
[INKitRegister_INRegister].[BranchID] IN (22, 16, 20, 17, 21)
)
)
GROUP BY
[INKitRegister_INRegister].[DocType],
[INKitRegister_INRegister].[TranDate]
) [KitAssemblyDailyTotals] ON (
[INKitRegister_INRegister].[DocType] = [KitAssemblyDailyTotals].[INKitRegister_docType]
AND [INKitRegister_INRegister].[TranDate] = [KitAssemblyDailyTotals].[INKitRegister_tranDate]
)
WHERE
([INKitRegister_INRegister].[CompanyID] = 2)
AND (
[INKitRegister_INRegister].[BranchID] IS NULL
OR (
[INKitRegister_INRegister].[BranchID] IN (22, 16, 20, 17, 21)
)
)
ORDER BY
[INKitRegister_INRegister].[DocType],
[INKitRegister_INRegister].[RefNbr],
CASE
WHEN [KitAssemblyDailyTotals].[INKitRegister_DocType] = 'P' THEN 'Assembly'
WHEN [KitAssemblyDailyTotals].[INKitRegister_DocType] = 'D' THEN 'Disassembly'
END,
[KitAssemblyDailyTotals_INKitRegister_RefNbr] OPTION (OPTIMIZE FOR UNKNOWN)

 

Laura


  • Author
  • Freshman I
  • June 17, 2025

I receive the same error with your XML file.  The syntax is different for the [KitAssemblyDailyTotals_INKitRegister].[DocType] vs. [KitAssemblyDailyTotals].[INKitRegister_DocType] in your screenshot.  Do you think this was solved for R2?  Or would it be related to our data / instance?

 

 


  • Author
  • Freshman I
  • June 17, 2025

It will run when I define a sort condition.

 


lauraj46
Captain II
Forum|alt.badge.img+8
  • Captain II
  • Answer
  • June 17, 2025

Hi ​@mknapke ,

It might be related to this issue which is listed as a fix in the 2024 R2 release notes:

AC-304990: If a table had an alias specified by a user in a generic inquiry, and filtering by the table fields was 
applied in an OData request to this generic inquiry, the response contained the following error: The multi-part 
identifier could not be bound.

Hope this helps!

Laura