Creating Implementations

Use the Define Implementations component (EOCF_IMPL_DEFN) to create and define implementations.

An implementation refers to the mechanism through which the data is retrieved, derived, or computed. The implementation knows either where the data physically resides or it knows the algorithm for deriving the value. All terms must be associated with an implementation unless the data to which the term refers is present in the component buffer.

An implementation can be associated with more than one term. Conversely, a term may require multiple implementations if it needs to be resolved from multiple contexts. Typically, application developers or IT personnel develop implementations.

Note: Terms that are resolved by accessing data available in the current operating component's buffer do not need implementations to be developed. PeopleSoft Active Analytics Framework provides mechanisms to access data that is available in the component buffer.

Oracle recommends that when multiple related terms will be accessed during a single business event, you create a single implementation to return a rowset containing the data for several terms; then, specify which data element or field position in the rowset or record is to be used for the term.

You develop Implementations using:

  • Application class.

    Use application class implementations when retrieval or derivation of data involves writing procedural code, or as a resolution method when data must be retrieved from an external source such as another PeopleSoft database or legacy systems. The application class can return data to the data library in a variety of forms: rowset, record, date, datetime, string, number, date array, datetime array, string array, number array, and array of any. Use PeopleSoft Application Designer to develop the application classes.

    Note: Oracle does not recommend: 1) Using an application class to retrieve data from a component buffer; 2) Using an application class to retrieve the values for the binds directly by accessing the component buffer without registering them as implementation binds. Application classes must use Application Programming Interfaces (APIs) to retrieve the values for the implementation binds (input parameters).

  • PS Query.

    Use Query Manager in PeopleSoft Application Designer to develop PS Query-based implementations. PS Query implementations are not appropriate for applications that get data from external databases or systems. The data library invokes the appropriate queries based on the information provided when you register the implementation. The data returned is available to the data library in the form of a rowset.

  • SQL object.

    Use this implementation when the SQL used needs to be platform-independent and the data need not undergo complex transformations. SQL object implementations are not appropriate for applications that get data from external databases or systems. The data library invokes the appropriate SQL object based on the information provided when you register the implementation. The data returned is available to the data library in the form of a record or an array of any objects. Use PeopleSoft Application Designer to create a SQL object.

  • Record.Field.

    Create a Record.Field-based implementation when the data can be retrieved directly from a table without going through complex transformations. The data returned is available to the data library in the form of string, date, datetime, number, string array, date array, datetime array, and number arrays.

With the exception of component buffer implementations, all implementations must be registered in the PeopleSoft Active Analytics Framework. Before you register an implementation, you must define the PeopleSoft Application Designer objects if using application class, PS Query, or SQL Object implementation methods.

Specify the following items in the registration component:

  • Functional name.

  • Resolution method used for that implementation.

  • Values for the parameters needed for invoking the implementation. The list of parameters varies depending upon the resolution method.

  • List of binds that are expected by this implementation.

Note: The binds specified for an application class implementation are referenced in the application class object for retrieving the values. Therefore, changing these implementation bind names can have an adverse effect on the term resolution.

For IT users, the list of implementation binds specified are used for two purposes:

  • To allow implementations to access these bind values.

    For any implementation, bind values are passed by position regardless of the resolution method used. Application class-based implementations alone have the additional capability to access the bind values by name.

  • To allow the data library engine to use these binds to uniquely tag the data in application cache.

    If IT users take a shortcut by retrieving the necessary data by directly accessing the context (by not registering the data as implementation binds), the data library engine may, as a result, tag the data with incomplete key information. This could cause the same cached data to be incorrectly reused for resolving terms for which it is not valid.