Share this page

# searchResourcePools

## Purpose

This operation searches for resource pool objects in PPM Center based on certain criteria.

## Function and Parameters

This operation returns all resource pool objects matching the search criteria from PPM Center.

The user performing this operation must have one of the following access grants:

- View Resource Pools

- View All Resource Pools

- Edit Resource Pool

- Edit All Resource Pools

Required Fields: None

Optional Fields:

- Name

- Description

- Parent

- Org unit

- Manager

- Region

If none of the optional fields are set, all resource pools are returned. If more than one criteria are specified, they are combined with each other by the AND logic.

## Limitations

Performance might be an issue if more than a few thousand resource pools are read at once.

## Input

ResourcePoolSearchFilter

## Return

ResourcePool matching the criteria.

## Java Interface

`CreateResourcePoolsResponseDocument createResourcePools( CreateResourcePoolsDocument in)`

Parameters | Description
--- | ---
SearchResourcePoolsDocument | Wrapper of the resource pool search filter. (ResourcePoolSearchFilter)
SearchResourcePoolsResponseDocument | Wrapper for the resource pool array. (WSResourcePoolBean[])

## Java Examples

Example: search resource pools.

    /**
      * Create a search filter with all fields set to match the nonnull
    fields of a *specific resource pool, thereby creating a
    search filter that should match only that *one resource pool.
    * @param target The resource pool that the filter will be
    made for.
    * @return the search filter.
    */
    ResourcePoolSearchFilter createSearchFilter(ResourcePool
    target) {
      ResourcePoolSearchFilter filter =
    ResourcePoolSearchFilter.Factory.newInstance();
      filter.setName(target.getName()); // required field
      filter.setDescription(target.getDescription());
      filter.addNewRegion().setName(target.getRegion().getName());
    // required field
      if (target.sizeOfManagerArray() > 0) {
         // use the first of the resource pool's managers in the
    search query

    filter.addNewManager().setName(target.getManagerArray(0).getNam
    e());
      }
      if (target.getOrgUnit() != null) {

    filter.addNewOrgUnit().setName(target.getOrgUnit().getName());
      }
      if (target.getParent() != null) {

    filter.addNewParent().setName(target.getParent().getName());
      }
      return filter;
    }

    /**
     * This is a wrapper method around the searchResourcePools web
    service, which reads *resource pools based on filter criteria.
    This method handles the details of creating *the document,
    invoking the service and unwrapping the response.
    *
    * @param filter A bunch of filter fields to narrow down the
    search.
    * @return Zero or more resource pools that match the
    search criteria.
    * @throws Exception
    */
    ResourcePool[] searchResourcePools(ResourcePoolSearchFilter
    filter) throws Exception {
       ResourceServiceStub service = new ResourceServiceStub(ctx,
    WSURL);
       SearchResourcePoolsDocument searchResourcePoolsDoc =
    SearchResourcePoolsDocument.Factory.newInstance();

    searchResourcePoolsDoc.addNewSearchResourcePools().setFilter(filter);

       SearchResourcePoolsResponse searchResponse =
    service.searchResourcePools(searchResourcePoolsDoc).getSearchResourcePoolsResponse();

       return searchResponse.getResourcePoolArray();
    }

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