Exception of type 'Ice.Lib.Framework.UIException' was thrown

Dear Team,

I got the following error message. I don’t know to fix it. I tried more than one way but not able to fix it.

Kindly, help on this issue how to solve.

Error Message: Exception of type ‘Ice.Lib.Framework.UIException’ was thrown.

The below Code i used.

private void oTrans_adapter_AfterAdapterMethod(object sender, AfterAdapterMethodArgs args)
{
// ** Argument Properties and Uses **
// ** args.MethodName **
// ** Add Event Handler Code **

	// ** Use MessageBox to find adapter method name
	// EpiMessageBox.Show(args.MethodName);
	//MessageBox.Show(args.MethodName);
	
	switch (args.MethodName)
	{
		case "GetByID":
			//tmpSrchGet = "Suppid";
			//DMRBindSupplier();
			//goto GetAvailTranDocTypes;

			string txtPartNo = string.Empty;
			string txtLotNo = string.Empty;
			string tmpSuppID = string.Empty;
			string tmpSuppPurPoint = string.Empty;
			string tmpSuppName = string.Empty;
		
			EpiDataView edvDMRHead = ((EpiDataView)(this.oTrans.EpiDataViews["DMRHead"]));
			if(edvDMRHead.dataView.Table.Rows.Count>0)
			{
				System.Data.DataRow edvDMRHeadRow = edvDMRHead.dataView.Table.Rows[0];

/*
Ice.Lib.Framework.EpiTextBox tmpTxtPartNo = (Ice.Lib.Framework.EpiTextBox)csm.GetNativeControlReference(“413bd15f-33af-46d3-9f1d-22c9f00cb1ce”);
Ice.Lib.Framework.EpiTextBox tmpTxtLotNo = (Ice.Lib.Framework.EpiTextBox)csm.GetNativeControlReference(“72ffbbf5-68d9-4ecd-a4d0-886c46ccf7d2”);
txtPartNo = Convert.ToString(tmpTxtPartNo.Text);
txtLotNo = Convert.ToString(tmpTxtLotNo.Text);
*/
txtPartNo = Convert.ToString(edvDMRHeadRow[“PartNum”]);
txtLotNo = Convert.ToString(edvDMRHeadRow[“LotNum”]);

				MessageBox.Show(txtPartNo.ToString());
				MessageBox.Show(txtLotNo.ToString());

				DynamicQueryAdapter adapterDynamicQueryQuote = new DynamicQueryAdapter(oTrans);
				adapterDynamicQueryQuote.BOConnect();
				bool results = adapterDynamicQueryQuote.GetDashboardQuery("MSD_QM_DRMProcess_Gaps07");
				if(results)
				{
					QueryExecutionDataSet ObQEd= new QueryExecutionDataSet();
					DataRow drReqNo = ObQEd.Tables["ExecutionParameter"].NewRow();
					drReqNo["ParameterID"] = "PartNo";
					drReqNo["ParameterValue"] = txtPartNo;
					drReqNo["ValueType"] = "character";
					drReqNo["IsEmpty"] = false;
					drReqNo["RowMod"] = "A";

					ObQEd.Tables["ExecutionParameter"].Rows.Add(drReqNo); 
					DataRow drDocType = ObQEd.Tables["ExecutionParameter"].NewRow();
					drDocType["ParameterID"] = "LotNo";
					drDocType["ParameterValue"] = txtLotNo;
					drDocType["ValueType"] = "character";
					drDocType["IsEmpty"] = false;
					drDocType["RowMod"] = "A";
					ObQEd.Tables["ExecutionParameter"].Rows.Add(drDocType);
			
					adapterDynamicQueryQuote.ExecuteDashboardParameterized(adapterDynamicQueryQuote.RuntimeQuery,ObQEd);
					DataTable dtQuotes = new DataTable();
					dtQuotes= adapterDynamicQueryQuote.QueryResults.Tables[0]; 
						
					if(dtQuotes.Rows.Count > 0)
					{
						Ice.Lib.Framework.EpiTextBox txtSuppID = (Ice.Lib.Framework.EpiTextBox)csm.GetNativeControlReference("2e703b56-64cd-4fef-b84e-a83b7b641da7");
						Ice.Lib.Framework.EpiTextBox txtSuppPurPnt = (Ice.Lib.Framework.EpiTextBox)csm.GetNativeControlReference("1786ece3-e2de-44b0-8547-78097534fd75");
						Ice.Lib.Framework.EpiTextBox txtSuppName = (Ice.Lib.Framework.EpiTextBox)csm.GetNativeControlReference("b6262a77-a28e-4793-9018-f527ad9dd896");
						
						EpiDataView edvBpm = ((EpiDataView)(this.oTrans.EpiDataViews["CallContextBpmData"]));
			    		System.Data.DataRow edvRowCallCon = edvBpm.CurrentDataRow;

						if (dtQuotes.Rows[0]["Vendor_VendorID"] != null && dtQuotes.Rows[0]["Vendor_VendorID"].ToString() != "")	
						{
							if(edvDMRHeadRow!=null)
							{
								edvDMRHeadRow.BeginEdit(); 
								for(int i=0;i < dtQuotes.Rows.Count; i++)
								{
									//edvDMRHeadRow["VendorNumVendorID"] = Convert.ToString(dtQuotes.Rows[i]["Vendor_VendorID"]);
									edvDMRHeadRow["VendorNum"] = Convert.ToString(dtQuotes.Rows[i]["RcvDtl_VendorNum"]);
								}
								edvRowCallCon.BeginEdit();
								edvRowCallCon["Number01"]= Convert.ToString(edvDMRHeadRow["VendorNum"]);
								edvRowCallCon.EndEdit();
								edvDMRHeadRow.EndEdit();
							}	
						}
						else
						{
							if(edvDMRHeadRow!=null)
							{
								edvDMRHeadRow.BeginEdit(); 
								edvDMRHeadRow["VendorNum"] = Convert.ToString(dtQuotes.Rows[0]["RcvDtl_VendorNum"]);
								//txtSuppID.Value = "";
								edvDMRHeadRow.EndEdit();								
							}								
						}
						if (dtQuotes.Rows[0]["Vendor_PurPoint"] != null && dtQuotes.Rows[0]["Vendor_PurPoint"].ToString() != "")	
						{
							if(edvDMRHeadRow!=null)
							{
								edvDMRHeadRow.BeginEdit(); 
								edvDMRHeadRow["PurPoint"] = Convert.ToString(dtQuotes.Rows[0]["Vendor_PurPoint"]);
								//txtSuppPurPnt.Value = Convert.ToString(dtQuotes.Rows[0]["Vendor_PurPoint"]);
								edvDMRHeadRow.EndEdit();	

								edvRowCallCon.BeginEdit();
								edvRowCallCon["Character01"]= dtQuotes.Rows[0]["Vendor_PurPoint"];
								edvRowCallCon.EndEdit();
							}								
						}
						else
						{
							if(edvDMRHeadRow!=null)
							{
								edvDMRHeadRow.BeginEdit(); 
								edvDMRHeadRow["PurPoint"] = Convert.ToString(dtQuotes.Rows[0]["Vendor_PurPoint"]);
								//txtSuppPurPnt.Text = "";
								edvDMRHeadRow.EndEdit();
							}								
						}
						if (dtQuotes.Rows[0]["Vendor_Name"] != null && dtQuotes.Rows[0]["Vendor_Name"].ToString() != "")	
						{
							if(edvDMRHeadRow!=null)
							{
								edvDMRHeadRow.BeginEdit(); 
								edvDMRHeadRow["VendorNumName"] = Convert.ToString(dtQuotes.Rows[0]["Vendor_Name"]);
								//txtSuppName.Value = Convert.ToString(dtQuotes.Rows[0]["Vendor_Name"]);
								edvDMRHeadRow.EndEdit();

								edvRowCallCon.BeginEdit();
								edvRowCallCon["Character02"]= dtQuotes.Rows[0]["Vendor_Name"];
								edvRowCallCon.EndEdit();	
							}								
						}
						else
						{
							if(edvDMRHeadRow!=null)
							{
								edvDMRHeadRow.BeginEdit(); 
								edvDMRHeadRow["VendorNumName"] = Convert.ToString(dtQuotes.Rows[0]["Vendor_Name"]);
								//txtSuppName.Value = "";
								edvDMRHeadRow.EndEdit();
							}								
						}
					}
				}
			}
		break;
	}
}

Screen Shot for your reference.

I think you can simplify the code like this. If this fails, please copy the entire text of the error.
Also, please use the formatting hints when posting a message.

private void oTrans_adapter_AfterAdapterMethod(object sender, AfterAdapterMethodArgs args)
{
	// ** Argument Properties and Uses **
	// ** args.MethodName **
	// ** Add Event Handler Code **

	// ** Use MessageBox to find adapter method name
	// EpiMessageBox.Show(args.MethodName);
	//MessageBox.Show(args.MethodName);
	
	switch (args.MethodName)
	{
		case "GetByID":
			//tmpSrchGet = "Suppid";
			//DMRBindSupplier();
			//goto GetAvailTranDocTypes;

			string txtPartNo = string.Empty;
			string txtLotNo = string.Empty;
			string tmpSuppID = string.Empty;
			string tmpSuppPurPoint = string.Empty;
			string tmpSuppName = string.Empty;
		
			EpiDataView edvDMRHead = oTrans.Factory("DMRHead");
			if(edvDMRHead.Row > -1)
			{
				System.Data.DataRow edvDMRHeadRow = edvDMRHead.CurrentDataRow;

				txtPartNo = (string)edvDMRHeadRow["PartNum"];
				txtLotNo = (string)edvDMRHeadRow["LotNum"];

				MessageBox.Show(txtPartNo.ToString());
				MessageBox.Show(txtLotNo.ToString());

				DynamicQueryAdapter adapterDynamicQueryQuote = new DynamicQueryAdapter(oTrans);
				adapterDynamicQueryQuote.BOConnect();
				bool results = adapterDynamicQueryQuote.GetDashboardQuery("MSD_QM_DRMProcess_Gaps07");
				if(results)
				{
					QueryExecutionDataSet ObQEd= new QueryExecutionDataSet();
					DataRow drReqNo = ObQEd.Tables["ExecutionParameter"].NewRow();
					drReqNo["ParameterID"] = "PartNo";
					drReqNo["ParameterValue"] = txtPartNo;
					drReqNo["ValueType"] = "character";
					drReqNo["IsEmpty"] = false;
					drReqNo["RowMod"] = "A";

					ObQEd.Tables["ExecutionParameter"].Rows.Add(drReqNo); 
					DataRow drDocType = ObQEd.Tables["ExecutionParameter"].NewRow();
					drDocType["ParameterID"] = "LotNo";
					drDocType["ParameterValue"] = txtLotNo;
					drDocType["ValueType"] = "character";
					drDocType["IsEmpty"] = false;
					drDocType["RowMod"] = "A";
					ObQEd.Tables["ExecutionParameter"].Rows.Add(drDocType);
			
					adapterDynamicQueryQuote.ExecuteDashboardParameterized(adapterDynamicQueryQuote.RuntimeQuery,ObQEd);
					DataTable dtQuotes = adapterDynamicQueryQuote.QueryResults.Tables[0]; 
						
					if(dtQuotes.Rows.Count > 0)
					{						
						EpiDataView edvBpm = ((EpiDataView)(this.oTrans.EpiDataViews["CallContextBpmData"]));
			    		System.Data.DataRow edvRowCallCon = edvBpm.CurrentDataRow;
						
						edvDMRHeadRow.BeginEdit(); 
						edvDMRHeadRow["VendorNum"] = (int)dtQuotes.Rows[i]["RcvDtl_VendorNum"];
						edvDMRHeadRow["PurPoint"] = (string)dtQuotes.Rows[0]["Vendor_PurPoint"];
						edvDMRHeadRow["VendorNumName"] = (string)dtQuotes.Rows[0]["Vendor_Name"];
						edvDMRHeadRow.EndEdit();
						
						dvRowCallCon.BeginEdit();
						edvRowCallCon["Number01"]= Convert.ToString(edvDMRHeadRow["VendorNum"]);
						edvRowCallCon["Character01"]= dtQuotes.Rows[0]["Vendor_PurPoint"];
						edvRowCallCon["Character02"]= dtQuotes.Rows[0]["Vendor_Name"];
						edvRowCallCon.EndEdit();
					}
				}
			}
		break;
	}
}
1 Like

This is going to be problematic because DMRHead.VendorNum is not a string, its an integer. (Same for RcvDtl)

edvDMRHeadRow["VendorNum"] = (int)dtQuotes.Rows[i]["RcvDtl_VendorNum"];

would work better

@Jason_Woods thank you for your quick response.

@Chris_Conn thank you for your quick response.