BDC : How to Create Filters in ADF manually
When an ADF is generated using BDC Editor tool, by default no filters will be added to any method instance. There is an option available in BDC editor tool to create filter. For guys who have tried to create filters using BDC Editor tool know how much painful it is. I know that there are other tools available in market using which this can be achieved easily but remember that nothing comes for free !
Let’s remember that nothing is as great as “Programming Ourselves” and that is what exactly we are going to do. Once you know what changes need to be done and why, then it’s just a matter of time to change.
So, first create ADF using the BDC Editor tool and save it. Open the XML file and locate the method where you like to add filters.
1. Change the Query adding where clause in it. Remember, the field in the where clause is going to be the filter.
Select "EmployeeKey","FirstName" from DimEmployee where([EmployeeKey] LIKE @ EmployeeKey)
2. Add Filter Descriptors and parameters in it. Here we are assuming it’s a Comparison type – you can also use WildCharacter.
<FilterDescriptors>
<FilterDescriptor Type="Comparison" Name="EmployeeKey" />
</FilterDescriptors>
<Parameter Direction="In" Name="@ EmployeeKey ">
<TypeDescriptor TypeName="System.Int32" Name="EmployeeKey" AssociatedFilter="EmployeeKey" IdentifierName="[EmployeeKey]">
<DefaultValues>
<DefaultValue MethodInstanceName="FindAll_DimEmployee_Instance" Type="System.Int32">1</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
3. Make sure that MethodInstanceName specified in the default value matches with the method instance name specified in <MethodInstances>
Comments
- Anonymous
December 07, 2008
· BDC Tool Design Surface Error Message : “Could not process Table ‘xyz’. Make sure you have SELECT rights - Anonymous
January 23, 2009
Hello there!Thanks for sharing this information, but unfotunatelly i can't do filters works on my project.look what MS BDC Definition Editor has generated:<Method Name="GetCargas"> <Properties> <Property Name="RdbCommandText" Type="System.String">selectcar.Atendimento as "Atendimento",car.CD_CARGA as "ID Carga",car.DS_Carga as "Descrição Carga",car.RS_Carga as "Carga",un.Acronym,un.Description as "Descrição",un.Type as "Tipo de Unidade",un.[Fator to Metric] as "Fator para Métrica",clas.DS_Genero as "Gênero",tipo.DS_Tipo as "Tipo de Carga"from Cargas car
WHERE(car.Atendimento = @Atendimento or @Atendimento is null)</Property> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> </Properties> <FilterDescriptors> <FilterDescriptor Type="Wildcard" Name="Atendimento" /> </FilterDescriptors> <Parameters> <Parameter Direction="Return" Name="@Cargas"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32" IdentifierName="CD_Carga" Name="ID Carga" /> <TypeDescriptor TypeName="System.String" Name="Descrição Carga" /> <TypeDescriptor TypeName="System.String" Name="Carga" /> <TypeDescriptor TypeName="System.String" Name="Acronym" /> <TypeDescriptor TypeName="System.String" Name="Tipo de Unidade" /> <TypeDescriptor TypeName="System.String" Name="Descrição" /> <TypeDescriptor TypeName="System.String" Name="Fator para Métrica" /> <TypeDescriptor TypeName="System.String" Name="Tipo de Carga" /> <TypeDescriptor TypeName="System.String" Name="Gênero" /> <TypeDescriptor TypeName="System.String" Name="Atendimento" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> <Parameter Direction="In" Name="@Atendimento"> <TypeDescriptor TypeName="System.String" Name="@Atendimento" AssociatedFilter="Atendimento"> <Properties> <Property Name="ShowInPicker" Type="System.Boolean">false</Property> </Properties> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="Finder" ReturnParameterName="@Cargas" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="GetCargas_Instance" /> </MethodInstances> </Method>But sharepoint always give me the error "An error occurred while retrieving data from LBH_Instance. Administrators, see the server log for more information." . I don't know what i can do to make this works... If i remove the filter and "where" statement form query my BDC works just fine... but i need this filter. And when i test it on BDC Definition Editor the error is "has a value in field "TypeDescription" that is invalid"Do u have any other ideas to help me?!Thx anyway! =DCya!inner join Units un on un.CD_UNIT = car.CD_UNITinner join [Classe de Carga] clas on clas.CD_Genero = car.CD_GENEROinner join [Tipos de Cargas] tipo on tipo.CD_Tipo = clas.CD_TIPO
- Anonymous
January 26, 2009
Hey Filipe....I see that you have used BDC Editor tool to genereate this ADF.My blog here says how to add filters manually. In your ADF i see "FilterDescriptors". Here is what i would suggest you. Don't try to add filters using the BDC tool. If you do that then you are going to land in trouble. Just create ADF "Without filters" and then using any XML editor, try the steps that i said before to add the filters and it should work. Let me know how if you have any problem !-Chandrasekar - Anonymous
March 02, 2009
Hi I tried adding filters using the method posted above.Here is my xml :<?xml version="1.0" encoding="utf-8" standalone="yes"?><LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.0.0" Name="BFS Accounts1" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog"> <LobSystemInstances> <LobSystemInstance Name="BFS Accounts1_Instance"> <Properties> <Property Name="rdbconnection Data Source" Type="System.String">01HW125397BFSTEG</Property> <Property Name="rdbconnection Initial Catalog" Type="System.String">BFS Accounts</Property> <Property Name="rdbconnection Integrated Security" Type="System.String">True</Property> <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property> <Property Name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">PassThrough</Property> </Properties> </LobSystemInstance> </LobSystemInstances> <Entities> <Entity EstimatedInstanceCount="10000" Name="Product"> <Identifiers> <Identifier TypeName="System.Int32" Name="ProductID" /> </Identifiers> <Methods> <Method Name="Find_Product"> <Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> <Property Name="RdbCommandText" Type="System.String">Select "ProductID","Name","ProductNumber","Color","Size","Class","Style" from Product where ProductID=@ProductID</Property> </Properties>
<Parameters> <Parameter Direction="In" Name="@ProductID"> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"<FilterDescriptors> <FilterDescriptor Type="Comparison" Name="ProductID" /> </FilterDescriptors>
<Parameter Direction="Return" Name="@Product"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProductID" Name="ProductID" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Name" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductNumber" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Color" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Size" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Class" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Style" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="SpecificFinder" ReturnParameterName="@Product" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="Find_Product_Instance" /> </MethodInstances> </Method> <Method Name="FindAll_Product"> <Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> <Property Name="RdbCommandText" Type="System.String">Select "ProductID" from Product where ProductID=@ProductID</Property> </Properties> IdentifierName="ProductID" Name="ProductID" AssociatedFilter ="ProductID"> <DefaultValues> <DefaultValue MethodInstanceName="Find_Product_Instance" Type="System.Int32"> 1 </DefaultValue> </DefaultValues> </TypeDescriptor> </Parameter>
<Parameter Direction="Return" Name="@Product"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProductID" Name="ProductID" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="IdEnumerator" ReturnParameterName="@Product" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FindAll_Product_Instance" /> </MethodInstances> </Method> </Methods> </Entity> </Entities></LobSystem>But whenI import the application to BDC in Central admin , it says no filters configured for the entity. also I am unable to use it in the BDC Data List Webpart.<FilterDescriptors> <FilterDescriptor Type="Comparison" Name="ProductID" /> </FilterDescriptors> <Parameters> <Parameter Direction="In" Name="@ProductID"> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProductID" Name="ProductID" AssociatedFilter ="ProductID"> <DefaultValues> <DefaultValue MethodInstanceName="FindAll_Product_Instance" Type="System.Int32"> 1 </DefaultValue> </DefaultValues> </TypeDescriptor> </Parameter>
- Anonymous
March 02, 2009
I don't think so the problem is with the "Filter" but with the "MethodInstance" Type.I belive you have generated this ADF using BDC Editor tool. By default, you will get two method instance, Specific Finder and IdEnumerator. As you are using BDC Data List Webpart, it will be looking for methodinstance of type "Finder". IdEnumerator is generally used for BDC search.You have<MethodInstance Type="IdEnumerator" ReturnParameterName="@Product" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FindAll_Product_Instance" /> </MethodInstances>So Change it to "Finder" Type and check<MethodInstance Type="Finder" ReturnParameterName="@Product" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FindAll_Product_Instance" /> </MethodInstances> - Anonymous
March 02, 2009
Thanks :)The solution worked. - Anonymous
April 01, 2009
Hello Chandrasekar,I'm creating my filters manually based on your solution which works fine.I have a couple of issues:I'm not able to get results when using more than one filters with data type Integer.I'm not able to get results when I combine different data types (for example date & string). I'm not able to get results when I have more than five filters in a ADF. I'm not sure if it's my fault or these are BDC constraints. Do you have any ideas?Thank you in advance for your time & effort.YannisHere is my xml :<?xml version="1.0"?><LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.XSD" Type="Database" Version="1.0.0.0"Name="SIS_DBLOBSystem_Assignments_Integers" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog"> <Properties> <Property Name="WildcardCharacter" Type="System.String">%</Property> </Properties> <LobSystemInstances> <LobSystemInstance Name="SIS_DBLOBSystem_Assignments_Integers"> <Properties>
Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">RevertToSelf</Property> <Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property><Property Name="AuthenticationMode"
</Properties> </LobSystemInstance> </LobSystemInstances> <Entities> <Entity EstimatedInstanceCount="0" Name="dbo.TBL_RfR_Assignments_test"> <Identifiers> <Identifier TypeName="System.String" Name="[purchaseorder_key]" /> <Identifier TypeName="System.String" Name="[poItem]" /> </Identifiers> <Methods> <Method Name="Getdbo.[TBL_RfR_Assignments_test]"> <Properties> <Property Name="RdbCommandText" Type="System.String">Select[purchaseorder_key],[consultant_key],[fteorder],[poItem],[poSAPCreationDate],[poStartDate],[poEndDate],[poMaterialNumber],[quantity],[rate],[rateUnit],[guard],[travel],[overtime],[purRequestDate],[functionalLead],[functionalLeadName],[hierarchicalMgr],[hierarchicalMgrName],[function],[role],[experienceLevel],[gbu],[group],[project],[locationOfMission],[costcenter],[fincoCostcenter],[fincoCostcenterName],[fincoProject],[fincoProjectName],[Itec],[esnCodeHQ],[siemensLocalNr],[wbsElement],[startMissionDate],[endMissionDate],[endMissionReason],[activityType],[poStoppedPrematureOn],[description] From dbo.[TBL_RfR_Assignments_test] where ([consultant_key] LIKE @ConsultantKey) and ([quantity] LIKE@Quantity)</Property> <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property> </Properties> <FilterDescriptors><Property Name="RdbConnection Data Source" Type="System.String"></Property><Property Name="RdbConnection Initial Catalog" Type="System.String"></Property><Property Name="RdbConnection Integrated Security" Type="System.String">false</Property><Property Name="RdbConnection User ID" Type="System.String"></Property><Property Name="RdbConnection Password" Type="System.String"></Property>
<FilterDescriptor Type="Comparison" Name="Quantity" /> </FilterDescriptors> <Parameters> <Parameter Direction="In" Name="@ConsultantKey"> <TypeDescriptor TypeName="System.Int32" Name="consultant_key" AssociatedFilter="Consultant Key"> <DefaultValues> <DefaultValue MethodInstanceName="dbo.[TBL_RfR_Assignments_test]Finder" Type="System.Int32">1</DefaultValue> </DefaultValues> </TypeDescriptor> </Parameter> <Parameter Direction="In" Name="@Quantity"> <TypeDescriptor TypeName="System.Int32" Name="quantity" AssociatedFilter="Quantity"> <DefaultValues> <DefaultValue MethodInstanceName="dbo.[TBL_RfR_Assignments_test]Finder" Type="System.Int32">1</DefaultValue> </DefaultValues> </TypeDescriptor> </Parameter> <Parameter Direction="Return" Name="dbo.[TBL_RfR_Assignments_test]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="dbo.[TBL_RfR_Assignments_test]DataReader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" Name="dbo.[TBL_RfR_Assignments_test]DataRecord"> <TypeDescriptors> <TypeDescriptor TypeName="System.String" Name="purchaseorder_key" IdentifierName="[purchaseorder_key]" /> <TypeDescriptor TypeName="System.Int32" Name="consultant_key" /> <TypeDescriptor TypeName="System.Double" Name="fteorder" /> <TypeDescriptor TypeName="System.String" Name="poItem" IdentifierName="[poItem]" /> <TypeDescriptor TypeName="System.String" Name="poSAPCreationDate" /> <TypeDescriptor TypeName="System.String" Name="poStartDate" /> <TypeDescriptor TypeName="System.String" Name="poEndDate" /> <TypeDescriptor TypeName="System.String" Name="poMaterialNumber" /> <TypeDescriptor TypeName="System.Int32" Name="quantity" /> <TypeDescriptor TypeName="System.Decimal" Name="rate" /> <TypeDescriptor TypeName="System.String" Name="rateUnit" /> <TypeDescriptor TypeName="System.Boolean" Name="guard" /> <TypeDescriptor TypeName="System.Boolean" Name="travel" /> <TypeDescriptor TypeName="System.Boolean" Name="overtime" /> <TypeDescriptor TypeName="System.String" Name="purRequestDate" /> <TypeDescriptor TypeName="System.Int32" Name="functionalLead" /> <TypeDescriptor TypeName="System.String" Name="functionalLeadName" /> <TypeDescriptor TypeName="System.Int32" Name="hierarchicalMgr" /> <TypeDescriptor TypeName="System.String" Name="hierarchicalMgrName" /> <TypeDescriptor TypeName="System.String" Name="function" /> <TypeDescriptor TypeName="System.String" Name="role" /> <TypeDescriptor TypeName="System.String" Name="experienceLevel" /> <TypeDescriptor TypeName="System.String" Name="gbu" /> <TypeDescriptor TypeName="System.String" Name="group" /> <TypeDescriptor TypeName="System.String" Name="project" /> <TypeDescriptor TypeName="System.String" Name="locationOfMission" /> <TypeDescriptor TypeName="System.String" Name="costcenter" /> <TypeDescriptor TypeName="System.Int32" Name="fincoCostcenter" /> <TypeDescriptor TypeName="System.String" Name="fincoCostcenterName" /> <TypeDescriptor TypeName="System.Int32" Name="fincoProject" /> <TypeDescriptor TypeName="System.String" Name="fincoProjectName" /> <TypeDescriptor TypeName="System.String" Name="Itec" /> <TypeDescriptor TypeName="System.String" Name="esnCodeHQ" /> <TypeDescriptor TypeName="System.String" Name="siemensLocalNr" /> <TypeDescriptor TypeName="System.String" Name="wbsElement" /> <TypeDescriptor TypeName="System.String" Name="startMissionDate" /> <TypeDescriptor TypeName="System.String" Name="endMissionDate" /> <TypeDescriptor TypeName="System.String" Name="endMissionReason" /> <TypeDescriptor TypeName="System.String" Name="activityType" /> <TypeDescriptor TypeName="System.String" Name="poStoppedPrematureOn" /> <TypeDescriptor TypeName="System.String" Name="description" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Name="dbo.[TBL_RfR_Assignments_test]Finder" Type="Finder" ReturnParameterName="dbo.[TBL_RfR_Assignments_test]"ReturnTypeDescriptorName="dbo.[TBL_RfR_Assignments_test]DataReader" ReturnTypeDescriptorLevel="0" /> </MethodInstances> </Method> <Method Name="dbo.[TBL_RfR_Assignments_test]SpecificFinder"> <Properties> <Property Name="RdbCommandText" Type="System.String">Select[purchaseorder_key],[consultant_key],[fteorder],[poItem],[poSAPCreationDate],[poStartDate],[poEndDate],[poMaterialNumber],[quantity],[rate],[rateUnit],[guard],[travel],[overtime],[purRequestDate],[functionalLead],[functionalLeadName],[hierarchicalMgr],[hierarchicalMgrName],[function],[role],[experienceLevel],[gbu],[group],[project],[locationOfMission],[costcenter],[fincoCostcenter],[fincoCostcenterName],[fincoProject],[fincoProjectName],[Itec],[esnCodeHQ],[siemensLocalNr],[wbsElement],[startMissionDate],[endMissionDate],[endMissionReason],[activityType],[poStoppedPrematureOn],[description] From dbo.[TBL_RfR_Assignments_test] Where (purchaseorder_key=@purchaseorder_key) AND(poItem=@poItem)</Property> <Property Name="RdbCommandType" Type="System.Data.CommandType">Text</Property> </Properties> <Parameters> <Parameter Direction="In" Name="@purchaseorder_key"> <TypeDescriptor TypeName="System.String" Name="[purchaseorder_key]" IdentifierName="[purchaseorder_key]" /> </Parameter> <Parameter Direction="In" Name="@poItem"> <TypeDescriptor TypeName="System.String" Name="[poItem]" IdentifierName="[poItem]" /> </Parameter> <Parameter Direction="Return" Name="dbo.[TBL_RfR_Assignments_test]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="dbo.[TBL_RfR_Assignments_test]DataReader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" Name="dbo.[TBL_RfR_Assignments_test]DataRecord"> <TypeDescriptors> <TypeDescriptor TypeName="System.String" Name="purchaseorder_key" IdentifierName="[purchaseorder_key]" /> <TypeDescriptor TypeName="System.Int32" Name="consultant_key" /> <TypeDescriptor TypeName="System.Double" Name="fteorder" /> <TypeDescriptor TypeName="System.String" Name="poItem" IdentifierName="[poItem]" /> <TypeDescriptor TypeName="System.String" Name="poSAPCreationDate" /> <TypeDescriptor TypeName="System.String" Name="poStartDate" /> <TypeDescriptor TypeName="System.String" Name="poEndDate" /> <TypeDescriptor TypeName="System.String" Name="poMaterialNumber" /> <TypeDescriptor TypeName="System.Int32" Name="quantity" /> <TypeDescriptor TypeName="System.Decimal" Name="rate" /> <TypeDescriptor TypeName="System.String" Name="rateUnit" /> <TypeDescriptor TypeName="System.Boolean" Name="guard" /> <TypeDescriptor TypeName="System.Boolean" Name="travel" /> <TypeDescriptor TypeName="System.Boolean" Name="overtime" /> <TypeDescriptor TypeName="System.String" Name="purRequestDate" /> <TypeDescriptor TypeName="System.Int32" Name="functionalLead" /> <TypeDescriptor TypeName="System.String" Name="functionalLeadName" /> <TypeDescriptor TypeName="System.Int32" Name="hierarchicalMgr" /> <TypeDescriptor TypeName="System.String" Name="hierarchicalMgrName" /> <TypeDescriptor TypeName="System.String" Name="function" /> <TypeDescriptor TypeName="System.String" Name="role" /> <TypeDescriptor TypeName="System.String" Name="experienceLevel" /> <FilterDescriptor Type="Comparison" Name="Consultant Key" />
- Anonymous
April 03, 2009
Please ignore my previous post. My issues where caused by wrong use of 'AND & OR Operators' as well as incorrect 'DefaultValues'.Kind regards,Yannis - Anonymous
June 02, 2009
· BDC Tool Design Surface Error Message : “Could not process Table ‘xyz’. Make sure you have SELECT rights - Anonymous
January 31, 2010
Hi this is my adf and it is keep on stating that there are no filters for this entity. am i doing something wrong?<?xml version="1.0" encoding="utf-8" standalone="yes"?><LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.0.0" Name="Cyl" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog"> <LobSystemInstances> <LobSystemInstance Name="Cyl_Instance"> <Properties> <Property Name="rdbconnectionData Source" Type="System.String">TEST</Property> <Property Name="rdbconnectionInitial Catalog" Type="System.String">C</Property> <Property Name="rdbconnectionUser ID" Type="System.String">sabg</Property> <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property> </Properties> </LobSystemInstance> </LobSystemInstances> <Entities> <Entity EstimatedInstanceCount="10000" Name="[C].[dbo].[CYL]"> <Identifiers> <Identifier TypeName="System.Int32" Name="CYL_USN" /> </Identifiers> <Methods> <Method Name="Find_[C].[dbo].[CYL]"> <Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934">Text</Property> <Property Name="RdbCommandText" Type="System.String">Select "CYL_USN","CYL_NUMBER"from [C].[dbo].[CYL] where CYL_USN=@CYL_USN</Property> </Properties>
<Parameters> <Parameter Direction="In" Name="@CYL_USN"> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CYL_USN" Name="CYL_USN" /> </Parameter> <Parameter Direction="Return" Name="@[C].[dbo].[CYL]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CYR_USN" Name="CYL_USN" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CYL_NUMBER" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="STOCK_CODE" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="SpecificFinder" ReturnParameterName="@[C].[dbo].[CYL]" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="Find_[C].[dbo].[CYL]Instance" /> </MethodInstances> </Method><FilterDescriptors><FilterDescriptor Type="Comparison" Name="CYL_USN" /></FilterDescriptors>
<Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> <Property Name="RdbCommandText" Type="System.String">Select "CYL_USN","CYL_NUMBER" from [C].[dbo].[CYL]</Property> </Properties> <Parameters> <Parameter Direction="Return" Name="@[C].[dbo].[CYL]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CYL_USN" Name="CYL_USN" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CYL_NUMBER" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="VALVE_TPED_CONFORMANT" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NEW_VALVE_BATCH_NUMBER" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="RESERVED_FOR" /> <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="MANUFACTURER" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="SpecificFinder" ReturnParameterName="@[C].[dbo].[CYL]" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FFind_[C].[dbo].[CYL]Instance" /> </MethodInstances> </Method> <Method Name="FindAll[C].[dbo].[CYL]"> <Properties> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> <Property Name="RdbCommandText" Type="System.String"></Property> </Properties> <Parameters> <Parameter Direction="Return" Name="@[C].[dbo].[CYL]"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record"> <TypeDescriptors> <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CYL_USN" Name="CYL_USN" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Type="Finder" ReturnParameterName="@[C].[dbo].[CYL]" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FindAll_[C].[dbo].[CYL]_Instance" /> </MethodInstances> </Method> </Methods> </Entity> </Entities></LobSystem><Method Name="FFind
[C].[dbo].[CYL]">
- Anonymous
January 07, 2014
Hi,I have a BDC file with filter.when user enters text to search it retrives some records. Every the records, i have one link field. Here user can edit, view and delete the particular item. whenever user clicking on the item. it redirects to some other page. user return back to BDC page. I have to hold the search value.Please help me to worked out this - Anonymous
January 20, 2015
Can I include a count clauseon that sql query???