SharePoint 2007: BDC - Using BDC Data in Lists

Posted on 4/24/2007 @ 5:19 AM in #SharePoint by | Feedback | 32274 views


SharePoint 2007: BDC - The Business Data Catalog

This post is in continuation to a series of blogposts I put up on BDC - the Business Data Catalog.

Table of Contents:

  • Introduction
  • In-built Webparts
  • Lists with Business data type columns. <-- You are here
  • Search
  • User Profiles
  • Other custom applications targeting a common runtime object model.
  • Making it easier to author XML Applications: BDCMetaMan

    In my series on BDC, I just got done describing a somewhat complete business data application definition, that lets you import data from Northwind.Customers. I provided both a Finder method and a specific finder method. In this blogpost, I am going to demonstrate using that data in a list.

  • You can use LOB data in a custom list using the following steps:

    • Assuming that you have a BDC application running as described in this post, go to your sharepoint site, and add a custom list. Call it MyFunkyList.
    • Go to the list, and click on "Settings" -> "List Settings"
    • Under Columns for the list, choose "Create Column"
    • Type in "Northwind Customer Name" as the name of the column, and choose it's data type to be "Business Data"
    • Customize the Additional column settings as shown below:
    • Click "OK". Your list is now ready to use.

    To use the LOB data in the list,

    • Add a new item in MyFunkyList
    • You will see the MOSS provides you with an IDE to choose the appropriate Northwind Customer Name. Go ahead and browse for the appropriate customer, and hit "OK".
    • Thats it. You will now see a sharepoint list, with information pulled from a LOB data application. This is shown as below -

    A few important points of mention:

    • The data you see is a "copy". You can easily refresh the latest copy of data from the underlying LOB by hitting the green Refresh icon on the column.
    • You also see various actions next to the business data. You can add custom actions to your BDC application definition, and use them in the list as well.
    • Do you see only CustomerIDs in filter? Yeah I know that's icky. You can customize that easily by adding more identifiers to the application definition.
    • Sometimes, you don't want the user to have to specify BDC information. You could use a List Event receiver, and use the common BDC runtime object model to populate BDC data in a column as well.

    Sound off but keep it civil:

    Older comments..


    On 6/6/2007 3:58:29 PM Becky Isserman said ..
    I am curious if a specific item is chosen in the BDC and a list is linked to that BDC webpart. If you add a new list instance can you make the a field like an id pull up the correct id for the user to add rather than having to choose that id? If not, is there a way to do it in a single webpart for all lists on that page?


    On 8/17/2007 6:05:04 AM Radoslav RobeŇ° said ..
    Hi.


    I have one question about BDC column. Why I cann't add BDC column to Site Collection, only to the list or doc. library.


    Thanks for answer.


    On 12/18/2007 5:51:27 PM Greg Andora said ..
    Could you point me in the right direction to be able to do the below programmatically?

    "You can easily refresh the latest copy of data from the underlying LOB by hitting the green Refresh icon on the column. "


    On 4/17/2008 7:02:14 PM Ryan McCutchen said ..
    Has anyone seen performance issues when BDC data is in a list? Meaning when you create new views of the list to group or sort - SP seems to take a long time to display the view.


    On 7/3/2008 6:57:53 AM arun said ..
    Hi,

    I need to populate my business data column with muliple values.


    How it can be achived?


    On 7/28/2008 10:43:32 AM Filip said ..
    hi,


    Great post!


    I want to do something similar,i was looking all over the net about post but nothing helped me.


    This is my problem:


    I have a bdc web part displaying a sql table. In order to access de data from de bdc web part(SPD workflow wizard) i have to populate a list. Well i tried to add a custom columns but in order ro display the data i have to add new element. This is something that i cant afford, beacause my table contains aproxm 200 000 lines.

    Do you have ideas how can i resolve my problem?


    On 8/19/2008 3:19:42 AM Steph said ..
    i'd like to know if there is a way to populate the list with all of the lines found in my table at once.


    thanks, and well done with this post!


    On 8/19/2008 3:19:57 AM Steph said ..
    i'd like to know if there is a way to populate the list with all of the lines found in my table at once.


    thanks, and well done with this post!


    On 11/7/2008 11:44:41 PM Paul said ..
    hi..great post!!


    We are using a list that contains a Business data type column. All users have Contribute access on the list but they are not able to pull data in the Business data column. If we give users access in "SSP", in BDC Permissions, then only they are able to access and pull information.


    Is it necessary to give users permission in SSP in BDC Permissions?


    Kindly help.


    Thanks in advance!!


    On 12/13/2008 12:46:09 AM Sam said ..
    Great Man!


    I want to know that how can i run workflow on this BDC data..


    My Requirement is get data from external DAtabase into sharepoint and apply sharepoint features on it..


    Please Help Me...


    On 2/19/2009 5:39:20 AM Loomy said ..
    Hello I have a problem with the green refresh button of BDC in a list.


    I belong to portal-owners group and I don't have any problem.


    Other users cannot update using the refresh button. They can create new items, update existing items but they don't have access to make a massive update!


    Does anybody know why ?


    On 3/3/2009 9:36:44 AM Steve said ..
    I realise that this may be too late to help Steph, but the following describes how you can use the SharePoint API to populate a BDC based list with all values from the LOB:

    http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=50


    On 4/2/2009 4:48:09 PM Jman said ..
    In response to the "Do you see only CustomerIDs in filter? Yeah I know that's icky. You can customize that easily by adding more identifiers to the application definition." comment.

    Add the following property to the TypeDescriptor to have the property show up in the filter:


    <Property Name="ShowInPicker" Type="System.Boolean">true</Property>

    For example:


    <TypeDescriptor TypeName="System.String" Name="CompanyName" >


    <LocalizedDisplayNames>


    <LocalizedDisplayName LCID="1033">CompanyName</LocalizedDisplayName>


    </LocalizedDisplayNames>


    <Properties>


    <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>


    <Property Name="ShowInPicker" Type="System.Boolean">true</Property>


    </Properties>


    </TypeDescriptor>


    On 11/30/2009 12:45:56 PM Prakash JJ said ..
    Hello guys,


    How can I just query the SQL database inside the object model code written for a web part. On button click, I need to verify some textbox input to external SQL DB? Any ideas how this is done on object model?


    On 4/29/2010 6:50:55 AM Sahil said ..
    there is no business data type in my list wen i try to add column in my custom list giving data Type as Business Data


    On 5/6/2010 4:27:44 AM Dav said ..
    On 4/29/2010 6:50:55 AM Sahil said ..

    there is no business data type in my list wen i try to add column in my custom list giving data Type as Business Data

    I GET THE SAME PROBLEM ! HAS ANYONE MANAGED TO RESOLVE??


    On 2/21/2012 3:50:25 AM Abhishek Kumar said ..
    Hi


    I have a requirement to assign BDC column a dynamic value using SPD workflow. how can I do that.