Share this page

# setResourceParticipation

## Purpose

This operation sets the participation of resources in various resource pools.

## Function and Parameters

This operation takes an array of (maximum 1,000) resource participation objects to set the participation of resources in different resource pools. The user performing this operation must have one of the following access grants:

- Edit Resource Pools

- Edit All Resource Pools

The start date of each resource distribution group in the same participation must be unique.

The sum of percentages in each resource distribution group must be in the range of 0 to 100.

Resource distribution group start date cannot be outside the range of resource start and end date in PPM Center.

Each resource distribution group may contain at most one distribution per resource pool.

Required Fields:

- ResourceParticipation

Optional Fields: None

## Limitations

Up to 1,000 resource participation objects can pass in a single invocation.

## Related Information

getResourceParticipation - to get resource participations.

## Input

ResourceParticipation

## Return

None

## Java Interface

`SetResourceParticipationResponseDocument setResourceParticipation (SetResourceParticipationDocument in)`

Parameters | Description
--- | ---
SetResourceParticipationDocument | Wrapper array of resource participations. (ResourceParticipationBean[])

## Java Examples

Example: set resource participation

    /**
        * Test creating a resource participation for a resource and
    then modifying it.
         */
        public void testSetResourceParticipation() throws Exception
    {
            String resource = "user1";

            // create participation object
            ResourceParticipation p =
    ResourceParticipation.Factory.newInstance();
            p.addNewResource().setName(resource);

        ResourceDistributionGroup group1 =
    ResourceDistributionGroup.Factory.newInstance();
            group1.setStart(calendar("Jan 1, 2005"));
            group1.setDistributionArray(new
    ResourcePoolDistribution[] {
                    createDistribution("TestResourcePool1", 25),
                    createDistribution("TestResourcePool2", 50)
            });

        ResourceDistributionGroup group2 =
    ResourceDistributionGroup.Factory.newInstance();
            group2.setStart(calendar("Jan 1, 2006"));
            group2.setDistributionArray(new
    ResourcePoolDistribution[] {
                    createDistribution("TestResourcePool1", 5)
             });

         ResourceDistributionGroup group3 =
    ResourceDistributionGroup.Factory.newInstance();
            group3.setStart(calendar("Jan 1, 2007"));
            group3.setDistributionArray(new
    ResourcePoolDistribution[] {
                    createDistribution("TestResourcePool1", 90),
                    createDistribution("TestResourcePool2", 10)
            });

            p.setDistributionGroupArray(new
    ResourceDistributionGroup[] { group1, group2, group3 });

            // call service
            setResourceParticipation(new ResourceParticipation[] { p
    });

         }
         /**
         * This is a wrapper method around the
    setResourceParticipation web service, which manages the
    participation of
         * resources in resource pools. This method handles the
    details of creating the document, invoking the web service
         * and unwrapping the response.
         *
         * @param participation Zero or more ResourceParticipation
    objects, which encapsulate the participation details
         * for a resource.
         * @throws Exception
         */
        public void
    setResourceParticipation(ResourceParticipation[] participation)
    throws Exception {
            ResourceServiceStub service = new
    ResourceServiceStub(ctx, WSURL);
        SetResourceParticipationDocument setParticipationDoc =
    SetResourceParticipationDocument.Factory.newInstance();

    setParticipationDoc.addNewSetResourceParticipation().setResourc
    eParticipationArray(participation);
            service.setResourceParticipation(setParticipationDoc);
         }

## Errors and Exceptions

When an error occurs on this operation, you will see a description of the root cause in the log or in the response message.

The server log file content is similar to the following:

    Exception in thread "main" org.apache.axis2.AxisFault:
    <exception:exceptionDetails xmlns:exception="http://
    www.mercury.com/ppm/ws/exception">
    <exception:detail>[root cause description] </exception:detail>
    </exception:exceptionDetails>

Possible root cause descriptions:

Message Code | Message | Cause(s) | Possible Corrective Action
--- | --- | --- | ---
error.ws.participation.badPercent | The resource distribution group with start date {0} for resource {1} has an invalid total percentage. The sum of percentages in each group must be in the range 0 to 100 | The sum of percentages in the resource distribution group exceeds 100. | Ensure the sum of percentages is between 0 and 100.
error.ws.participation.duplicateStartDate | Duplicate start date: {0}. The start date of each resource distribution group in the same participation should be unique. | The start date of each resource distribution group in the same participation is not unique. | The start date of each resource distribution group in the same participation should be unique.
error.ws.participation.duplicateDistribution | The resource distribution group with start date {0} for the resource {1} has multiple distributions for the same resource pool. Each group may contain at most one distribution per resource pool. | The resource distribution group with start date {0} for the resource {1} has multiple distributions for the same resource pool. | Each group may contain at most one distribution per resource pool.
error.ws.participation.resourceUnavailable | The PPM start or end date of the resource {0} makes the resource unable to participate in a distribution group that starts on {1}. | Distribution group start date is outside the range of the resource start and end date in PPM Center. | Adjust either the start and end date for the resource in PPM Center or the distribution group start date.
exception.authorization | You do not have the privilege to take this action. Consult your PPM Administrator. | You do not have the required access grants for this operation. | Verify that your account has the required access grants.

https://admhelp.microfocus.com PPM 8942
Tips to improve your search results... OpenText™ Project and Portfolio Management Help Center PPM Help 26.2-26.3 All View Local Help Center View Online Help Center Version: