Welcome to MSDN Blogs Sign in | Join | Help

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>

 

Published Sunday, December 07, 2008 8:47 PM by chandrasekarn

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Sunday, December 07, 2008 6:07 PM by Chandru's SharePoint / MCMS Blog !

# BDC Error Messages

· BDC Tool Design Surface Error Message : “Could not process Table ‘xyz’. Make sure you have SELECT rights

Friday, January 23, 2009 10:46 AM by Filipe de Campos Cavalcante

# re: BDC : How to Create Filters in ADF manually

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">select

car.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

inner join Units un

on un.CD_UNIT = car.CD_UNIT

inner join [Classe de Carga] clas

on clas.CD_Genero = car.CD_GENERO

inner join [Tipos de Cargas] tipo

on tipo.CD_Tipo = clas.CD_TIPO

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! =D

Cya!

Monday, January 26, 2009 4:53 PM by chandrasekarn

# re: BDC : How to Create Filters in ADF manually

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

Monday, March 02, 2009 9:54 AM by Deepti

# re: BDC : How to Create Filters in ADF manually

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">01HW125397\BFSTEG</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>

<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="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" />

                     <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>

<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>

           <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.

Monday, March 02, 2009 10:18 AM by chandrasekarn

# re: BDC : How to Create Filters in ADF manually

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>

Tuesday, March 03, 2009 1:38 AM by Deepti

# re: BDC : How to Create Filters in ADF manually

Thanks :)

The solution worked.

Wednesday, April 01, 2009 8:07 AM by Yannis

# re: BDC : How to Create Filters in ADF manually

Hello Chandrasekar,

I'm creating my filters manually based on your  solution which works fine.

I have a couple of issues:

1. I'm not able to get results when using more than one filters with data type Integer.

2. I'm not able to get results when I combine different data types (for example date & string).

3. 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.

Yannis

Here 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>

<Property Name="AuthenticationMode"

Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">RevertToSelf</Property>

       <Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property>

<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>

     </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],[funct

ion],[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>

   <FilterDescriptor Type="Comparison" Name="Consultant Key" />

           <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],[funct

ion],[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" />

                     <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]SpecificFinder" Type="SpecificFinder"

ReturnParameterName="dbo.[TBL_RfR_Assignments_test]" ReturnTypeDescriptorName="dbo.[TBL_RfR_Assignments_test]DataReader"

ReturnTypeDescriptorLevel="0" />

         </MethodInstances>

       </Method>

       <Method Name="dbo.[TBL_RfR_Assignments_test]IDEnumerator">

         <Properties>

           <Property Name="RdbCommandType" Type="System.String">Text</Property>

           <Property Name="RdbCommandText" Type="System.String">Select [purchaseorder_key],[poItem] from

dbo.[TBL_RfR_Assignments_test]</Property>

         </Properties>

         <Parameters>

           <Parameter Direction="Return" Name="dbo.[TBL_RfR_Assignments_test]IDs">

             <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="dbo.[TBL_RfR_Assignments_test]IDs">

               <TypeDescriptors>

                 <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089" Name="dbo.[TBL_RfR_Assignments_test]">

                   <TypeDescriptors>

                     <TypeDescriptor TypeName="System.String" Name="purchaseorder_key" IdentifierName="[purchaseorder_key]" />

                     <TypeDescriptor TypeName="System.String" Name="poItem" IdentifierName="[poItem]" />

                   </TypeDescriptors>

                 </TypeDescriptor>

               </TypeDescriptors>

             </TypeDescriptor>

           </Parameter>

         </Parameters>

         <MethodInstances>

           <MethodInstance Name="dbo.[TBL_RfR_Assignments_test]EnumeratorInstance" Type="IdEnumerator"

ReturnParameterName="dbo.[TBL_RfR_Assignments_test]IDs" />

         </MethodInstances>

       </Method>

     </Methods>

   </Entity>

 </Entities>

</LobSystem>

Friday, April 03, 2009 12:17 PM by Yannis

# re: BDC : How to Create Filters in ADF manually

Please ignore my previous post. My issues where caused by wrong use of 'AND & OR Operators' as well as incorrect 'DefaultValues'.

Kind regards,

Yannis

Tuesday, June 02, 2009 11:07 AM by Chandru's SharePoint / MCMS Blog !

# BDC Error Messages

· BDC Tool Design Surface Error Message : “Could not process Table ‘xyz’. Make sure you have SELECT rights

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker