Classic BAQ Combo Client Customization to Kinetic

I must have a mental block on how this works. I have found several threads related to this subject, but I cannot seem to connect the dots. I have a working classic client customization with a BAQ combo that requires a parameter to be passed. The BAQ is

select 
	[CustCnt].[Name] as [CustCnt_Name],
	[CustCnt].[ConNum] as [CustCnt_ConNum]
from Erp.Customer as Customer
inner join Erp.CustCnt as CustCnt on 
	Customer.Company = CustCnt.Company
	and Customer.CustNum = CustCnt.CustNum
where (Customer.CustNum = [EpiBinding:QuoteHed.CustNum])

The classic BAQ Combo looks like this

I believe I need to use the Filter and Filter Params fields. I’ve tried several different combinations, but I would think this would work.
image

Running this, I see a server side error of:
Query Id: FCII01-Quote-Contacts. Invalid column name EpiBinding:QuoteHed.CustNum

If I remove the EpiBinding where clause, the BAQ runs and returns a bazillion rows so I know the basic connection is there.

What am I missing?

Have you found an answer? I think we have the same issue.
I have 3 BAQs tied to 3 different BAQ Combo Boxes. The 2nd’s BAQ Combo results are contingent on what the user selects in the 1st BAQ Combo. The 3rd’s results are contingent on what was selected in the 1st and 2nd.
I also had the BAQs referencing the Epicor Form in the WHERE CLAUSE but I since removed it and added the columns into the SELECT

BAQ: GLAccount-Chart_K

select distinct 
    [GLAccount].[SegValue1] as [GLAccount_SegValue1], 
    [COASegValues].[SegmentName] as [COASegValues_SegmentName], 
    [GLAccount].[AccountDesc] as [GLAccount_AccountDesc], 
    (GLAccount.SegValue1 +'::'+ COASegValues.SegmentName) as [Calculated_Concat], 
    [GLAccount].[SegValue2] as [GLAccount_SegValue2],  --Added for Kinetic
    [GLAccount].[SegValue3] as [GLAccount_SegValue3]   --Added for Kinetic

from Erp.GLAccount as [GLAccount]
inner join Erp.COASegValues as [COASegValues] on 
      GLAccount.Company = COASegValues.Company
    and  GLAccount.SegValue1 = COASegValues.SegmentCode
    and ( COASegValues.COACode = 'MainCOA'  
and COASegValues.ActiveFlag = true  )
where (GLAccount.Company = 'COLT-CND'  
and GLAccount.Active = true)

Removed in Kinetic BAQ

–and GLAccount.SegValue2 = ‘[EpiBinding:ReqDetail.GLDivision_c]’
–and GLAccount.SegValue3 = ‘[EpiBinding:ReqDetail.GLDepartment_c]’)

In Kinetic I modified the BAQ by removing the references to the EpiBinding in the WHERE CLAUSE. I attempted to recreate them using “Reusable Combo” features.

3RD Combo Box (It looks to the previous 2 Combo Boxes for the user Selections returned from their respective BAQ results)

ID: baqcGLChart
EpiBinding: ReqDetail.GLChart_c
EpiBinding Text Column: ReqDetail.GLChart_c
Filters: GLAccount_SegValue2 =‘?[SegValue2]’, GLAccount_SegValue3 =‘?[SegValue3]’
Filter Params: SegValue2 =?[baqcGLDivision.GLAccount_SegValue2], SegValue3 =?[baqcGLDepartment.GLAccount_SegValue3]
DropDown Style: DropDown
BAQ Query: GLAccount-Chart_K
Test Field: Calculated_Concat
Value Field: GLAccount_SegValue1

My understanding is that the “Filter” is creating a parameter called SegValue2 and SegValue3 which will hold the values which I need to filter the results from the BAQ
Then in “Filter Params” I am setting the values of SegValue3 and SegValue2 to the Selected Values from the 2 previous Combos I created called baqcGLDivision and baqcGLDepartment.
If you run BAQ: GLAccount-Chart_K it basically returns every active GL. If viewed from the Combo Box it shows duplicates of many Charts. If the filter/filter params were working as intended I should only see Charts that exist with the Division and Department codes that were selected in the ComboBoxes baqcGLDivision and baqcGLDepartment

In other words if you can GLAccount-Chart_K you may see the following results

But if the user selected 20 in baqcGLDivision and 000 in baqcGLDepartment then the 3rd results for GL 20-002-1005 should not be in the results

No, I couldn’t get it to work. I ended up moving away from the BAQ combo in favor of the built in Kinetic reusable combo type CustCnt.cboCustCnt. I then filtered on custnum.
image
image

I can’t attest to all your bindings, but in your Filters, use curly brackets { } instead of straight [ ].

1 Like

I just tried a whole bunch of different syntax iterations as well as attempting to use the Row Filter. I have a feeling that i’m incorrectly referencing the Selected Value from the ComboBox or you simply cant reference the values. I was wondering if you have to put some triggers in place after each Combo selection to hold the value selected then pass it to the next combo in the Row Filter as Text/String?

I simplified the process by just looking at one parameter and changed the syntax to match what is in the tool help for Filter/Filter Params

ComboBoxID:baqcGLDepartment
Filter:[“GLAccount_SegValue2 =‘?{SegValue2}’”]
Filter Params:[“SegValue2 =?[baqcGLDivision.Value]”]

baqcGLDivision is the ID of a totally separate ComboBox on the same form.
It is and being fed from a totally separate BAQ.
The Value is what the user selected form the BAQ results. In this case it is actually a field from the BAQ called GLAccount_SegValue2. This works as it just a straight up CombBox fed from a BAQ without parameters and such. I can see the correct value and verified its also being saved to the databased. In this example lets say is “20”.

So when the user clicks on baqcGLDepartment I was expecting Filter Params to look at the Value from baqcGLDivision (20) and assign it to a local variable called SegValue2. Then the BAQ tied to baqcGLDepartment which has a display field called GLAccount_SegValue2 will be set to “20” and the results in the dropdown for the user to pick will be filtered to only show results which have GLAccount_SegValue2 = 20.