This method is used to get a list of recipes matching certain filter criteria. It concerns itself only with the metadata of the recipe, the actual content is transferred by a RecipeTransferType object.

Signature

GetRecipeListFiltered ([in]RecipeIdExternalDataTypeexternalId[in]ProductIdDataTypeproductId[in]TriStateBooleanDataTypeisPrepared[in]UInt32maxResults[in]UInt32startIndex[in]Int32timeout[out]BooleanisComplete[out]UInt32resultCount[out]HandlerecipeHandle[out]RecipeIdInternalDataType[]recipeList[out]Int32error);

Table 37 – GetRecipeListFiltered Method Arguments

Argument

Description

externalId

Identification of the recipe used by the environment used as a filter.

productId

Identification of a product, used as a filter.

isPrepared

This argument is used to filter for prepared recipes (for value TRUE_1), non-prepared recipes (for value FALSE_0) or without regard for the preparedness of recipes (for value DONTCARE_2).

maxResults

Maximum number of recipes to return in one call; by passing 0, the client indicates that it does not put a limit on the number of recipes.

startIndex

Shall be 0 on the first call, multiples of maxResults on subsequent calls to retrieve portions of the entire list, if necessary.

Timeout

With this argument the client can give a hint to the server how long it will need access to the configuration data.

A value > 0 indicates an estimated maximum time for processing the data in milliseconds.

A value = 0 indicates that the client will not need anything besides the data returned by the method call.

A value < 0 indicates that the client cannot give an estimate.

The client cannot rely on the data being available during the indicated time period. The argument is merely a hint allowing the server to optimize its resource management.

isComplete

Indicates whether there are more results in the entire list than retrieved according to startIndex and resultCount.

resultCount

Gives the number of valid results in recipeList.

recipeHandle

The server shall return to each client requesting recipe data a system-wide unique handle identifying the recipe set / client combination. This handle has to be used by the client to release the recipe set.

recipeList

List of InternalIDs matching the filters.

error

0 – OK

Values > 0 are reserved for errors defined by this and future standards.

Values < 0 shall be used for application-specific errors.

Table 38 – GetRecipeListFiltered Method AddressSpace Definition

Attribute

Value

BrowseName

GetRecipeListFiltered

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

HasProperty

Variable

OutputArguments

Argument[]

PropertyType

Mandatory

The input arguments are used as filters. Strings or TrimmedStrings as arguments or structure components of arguments can contain * and ? to be used as wildcards. Empty elements are considered to match everything, or in other words are not taken into account for filtering at all. The notion of emptiness is defined together with the respective DataTypes.

In RecipeList, the method returns a list of all recipes whose ExternalIds or ProductIds match the filters.

For RecipleList method there are the following cases with the respect to the number of results:

  • The number of recipes to be returned according to the filter is less or equal to maxResults; the first call, with nstartIndex =0, returns isComplete =TRUE, so the client knows that no further calls are necessary. resultCount gives the number of valid elements in the recipeList array.
  • The number of recipes to be returned is larger than maxResults; the first N calls (N > 0 with N ≤ (number of recipes) divisor MaxResults), with startIndex =(N-1)*maxResults, return isComplete =FALSE, so the client knows that further calls are necessary. The following call returns isComplete =TRUE, so the client knows, no further calls are necessary. resultCount gives the number of valid elements in the recipeList array (on each call, so on the first N calls, this should be maxResults).