Epifilter in Combo cuasing server error (cloud)

I have a combo setup with the following:

When I click the drop down I get a server error, which I can’t view as I am a SaaS cloud user. (I tried using the download tool, but I can’t find any log)

If I remove the filter the error goes away. I tried doing a trace:


<tracePacket>
  <businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>https://ausmtspilot102.epicorsaas.com/SaaS203Pilot/</appServerUri>
  <returnType>System.Data.DataSet</returnType>
  <localTime>9/11/2019 15:28:45:4861199 PM</localTime>
  <threadID>1</threadID>
  <executionTime total="145" roundTrip="145" channel="0" bpm="0" other="0" />
  <retries>0</retries>
  <parameters>
    <parameter name="serviceNamespace" type="System.String"><![CDATA[Ice:BO:UserCodes]]></parameter>
    <parameter name="whereClause" type="System.String"><![CDATA[(CodeTypeID='SalesCat') AND (CodeDesc='OEM')]]></parameter>
    <parameter name="columnList" type="System.String"><![CDATA[]]></parameter>
  </parameters>
</tracePacket>

Nothing seems too wrong… so I tried replicating the trace via REST with the following parameters:

{
  "whereClauseUDCodeType": "CodeTypeID='SalesCat'",
  "whereClauseUDCodes": "CodeDesc='OEM'",
  "pageSize": 0,
  "absolutePage": 0
}

And it worked fine. So I think there must be something wrong with my control properties. I tried deleting it and starting over, which did not fix the problem.

Is there any way I can get my hands on the server log? Or is there anything wrong with the combo properties?

< miniRant >
I had the same issue with the BPM recently. Logging items to the Windows Event log is just a bad idea™. First, you have to give devs access to the server - which is a Really Bad Idea™ but in SaaS situations, you would have to file a ticket with your cloud team, tell them about when the error happened so THEY can look at the event log. Grrr.
< /miniRant >

2 Likes

I agree, I would think it would be fairly high on the list of things to improve for cloud users. If they have the logging abstracted to a logging service I would think it would be relatively easy to fix too…

1 Like

Where did you set the CodeDesc filter?

Its in the “Epifilters” I forgot to expand it for the screen shot, I will update the screen shot when I get to work tomorrow but its there.

The way the logic of an EpiCombo works, I doubt you can filter the CodeDesc column like that.

Can I filter by the UD field character01? I just need to display a different sub-group of UD codes depending on what customer group the customer is in.

@Jason_Woods is correct. Pull all the UD codes along with UD character (sub group)
Then apply a local filter in the customization

(OnDropdown)

private void epiComboC2_BeforeDropDown(object sender, System.ComponentModel.CancelEventArgs args)
                {
                                // ** Place Event Handling Code Here **
                                                                EpiDataView edv = oTrans.Factory("Contact");
                                                                
                                                                epiComboC2.Rows.ColumnFilters["CodeID"].FilterConditions.Clear();
                                                                epiComboC2.Rows.ColumnFilters["CodeID"].FilterConditions.Add(Infragistics.Win.UltraWinGrid.FilterComparisionOperator.StartsWith,edv.dataView[edv.Row]["ShortChar03"]);
                                                                
                }
2 Likes

Thanks, that works.

How did you guys know it wouldn’t work the other way? :confused:

#Experience lol

1 Like

Trying to use this same method for a dashboard. The drop down choices for Sales Categories should be filtered such that only UD codes with Character01 = Group are displayed in the drop down.


I put a combo down and added the following code:

private void epiComboC1_BeforeDropDown(object sender, System.ComponentModel.CancelEventArgs args)
	{
		var myGrid = ((Ice.Lib.Framework.EpiUltraGrid)csm.GetNativeControlReference("2406336b-e10d-4f62-b319-e00bb8e08370"));
		// ** Place Event Handling Code Here **
		baqComboC1.Rows.ColumnFilters["Character01"].FilterConditions.Clear();
        baqComboC1.Rows.ColumnFilters["Character01"].FilterConditions.Add(Infragistics.Win.UltraWinGrid.FilterComparisionOperator.Equals,edvV_ConcatExample_1View.dataView[edvV_ConcatExample_1View.Row]["GroupCode"]);
		myGrid.DisplayLayout.Bands[0].Columns["Customer_ShortChar01"].EditorComponent = baqComboC1;
	}

If I click the combo I put down gat a “Key not Found” error. The drop downs in the grid give no error, but are not filtered correctly either.

Any idea what I am doing wrong?