Action Class

Represents an action in the Business Data Catalog.

Inheritance Hierarchy

System.Object
  Microsoft.Office.Server.ApplicationRegistry.Administration.MetadataObject
    Microsoft.Office.Server.ApplicationRegistry.Administration.AccessControlledMetadataObject
      Microsoft.Office.Server.ApplicationRegistry.Administration.Action

Namespace:  Microsoft.Office.Server.ApplicationRegistry.Administration
Assembly:  Microsoft.SharePoint.Portal (in Microsoft.SharePoint.Portal.dll)

Syntax

'Declaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Class Action _
    Inherits AccessControlledMetadataObject
'Usage
Dim instance As Action
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public class Action : AccessControlledMetadataObject

Remarks

Entities can have actions in the Business Data Catalog. Actions bridge the gap between Microsoft Office SharePoint Server 2007 and a native application user interface by providing a link to the back-end data source. You can use Business Data actions to build applications with write-back scenarios, such as a Customer Profile view that allows a user to update profile information directly in SAP. Actions are implemented as links, so you can also use actions to perform simple actions such as to send an e-mail message or open a customer’s home page.

Actions travel everywhere with an entity. That is, after you define an action for an entity, the action shows up everywhere you display that entity—be it in a Business Data Web Part or in a Business Data column.

Actions can take parameters. The ActionParameter object defines the parameters the action accepts.

Schema

Child

Type

Occurs

Default

Limits / Accepted Values

Description

Position

Attribute (bdc:ActionPosition)

1..1

Min.: 1

IsOpenedInNewWindow

Attribute (Boolean)

0..1

false

If true, the action opens in a new browser window.

Url

Attribute (String)

1..1

Min. length: 1

Max. length: 2080

URL to go to when the action is clicked. The URL string is a .NET Framework format string. Each format specifier (e.g., {0}) corresponds to an action parameter.

ImageUrl

Attribute (String)

0..1

Min. length: 0

Max length: 2080

Should min. be 1 for consistency?

Absolute or relative path to the action's icon image. The icon image should be 16x16 pixels.

ActionParameters

Element

0..1

No max. ActionParameters elements per action enforced

Container element for ActionParameter.

Examples

The following code example adds an action and updates the ProductModel entity.

Prerequisites

Project References

Add the following Project References in your console application code project before running this sample:

  • Microsoft.SharePoint

  • Microsoft.SharePoint.Portal

  • Microsoft.Office.Server

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;

namespace Microsoft.SDK.SharePointServer.Samples
{
    class GetStartedAndCreateSystem
    {
        const string yourSSPName ="EnterYourSSPNameHere";

        static void Main(string[] args)
        {
            SetupBDC();
            UpdateEntity();
            Console.WriteLine("Press any key to exit...");
            Console.Read();
        }
        static void SetupBDC()
        {
            SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
        }
        static void UpdateEntity()
        {
            LobSystemInstance mySysInstance = null;
            LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
            foreach (LobSystemInstance sysInstance in sysInsCollection)
            {
                if (sysInstance.Name == "AdventureWorksSampleFromCode")
                {
                    mySysInstance = sysInstance;
                    break;
                }
            }
            IList<Entity> entityCollection = new List<Entity>(mySysInstance.LobSystem.Entities);
            Entity e = entityCollection[0];
            Action pmaction = e.Actions.Create("Search on MSN", true, 1, true, "http://www.msn.com?q={0}", null);
            pmaction.ActionParameters.Create("Name", true, 0);
            Console.WriteLine("Added an action and updated the entity successfully.");
        }
    }
}

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Action Members

Microsoft.Office.Server.ApplicationRegistry.Administration Namespace