Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 26

Agenda

• What is a CI ?
• How it works ?
• Why use CI ?
• CI Architecture
• How to create a CI ?
• Setting CI security
• Testing a CI
• Sample PeopleCode
• Building APIs
• Runtime considerations
What is a Component
Interface ?

Used to integrate PeopleSoft with another


PeopleSoft application or with external
systems
How does a CI work ?

• Enables exposure of a PeopleSoft component


for synchronous access from another
application ( PeopleCode, Java, C/C++, COM,
or XML)

• “Black boxes" that encapsulate PeopleSoft


data and business processes, and hide the
details of the underlying page and data
Why use CI ?
• Loading data using CI mimics online data
entry 
• The data entered confirms to all PeopleSoft
online validations and edits
CI Architecture

• Component

• Component interfaces

• Component interface API


CI Architecture
How to create a CI ?

CI is a PeopleSoft definition that can be created in


PeopleSoft Application Designer
Creating a new CI definition
• File -> New -> Component Interface Prompts for
the component name on which this CI defn. will
be based
• CI properties may/may not be based on the
default properties of the underlying component
• Standard methods Cancel, Find, Get, and Save -
automatically created.
• Create method - available only if the underlying
component supports the ‘Add’ mode
Comparing CI & Component
CI Component (Search record)

• Get keys • Search key fields


• Find keys • Search key fields & Alternate Search key
fields
• Create keys • Physical key (provided the component
has add-mode permissions)
CI Definitions and Views
Methods
• Methods

A function that performs a specific task on a


component interface at runtime

Standard methods - Find, Get, Save, and Cancel


methods The Create method for components
that have the “Add” action enabled

User-defined methods - Functions that are made


accessible through the component interface.
Each function maps to a user-defined method
Properties and Collections

• Properties - fields

• Collections - Scroll

Standard properties

InteractiveMode, GetHistoryItems, and


EditHistoryItems
Enabling and Disabling Standard
Methods
Creating User-Defined Methods
Setting Component Interface
Security
Open the Permission list – Component
Interface
Validating the Component
Interface
Validation ensures that a component interface
definition has not deviated from its source
component
To validate a component interface
• Open the component interface in Application
Designer
• Select Tools, Validate for Consistency
• Keys that no longer synchronize with their
associated components are marked with an X
icon
Testing the Component
Interface
Component Interface Tester


Test in interactive mode.
• Retrieve history items.
• Test the standard, custom, and collection
methods.
Testing the Component
Interface
Programming CI in PeopleCode
Generating a PeopleCode Template
Generate PeopleCode template
for CI
• Open the desired component interface definition
in Application Designer.
• Insert the component interface into a project.
• Save the project.
• Open the PeopleCode editor.
• You can associate component interface
PeopleCode with a record, a component, an
application message, or Application Engine.
• Select the component interface from the project
workspace.
• Drag and drop the object from the project into
the PeopleCode editor.
• Make any necessary changes to the PeopleCode
in the PeopleCode editor window.
Sample PeopleCode

template
&oSession = %Session;
• &oSession.PSMessagesMode = 1;

• &oHcompinterface = &oSession.GetCompIntfc(CompIntfc.HCOMPINTERFACE);
• If &oHcompinterface = Null Then
• errorHandler();
• Exit;
• End-If;
• &oHcompinterface.InteractiveMode = False;
• &oHcompinterface.GetHistoryItems = True;
• &oHcompinterface.EditHistoryItems = False;
• If Not &oHcompinterface.Get() Then
• errorHandler();
• Exit;
• End-If;
• rem <*> = &oHcompinterface.EMPLID;
• rem &oHcompinterface.EMPLID = <*>;
• rem <*> = &oHcompinterface.NAME;
• rem &oHcompinterface.NAME = <*>;
Sample PeopleCode

template
rem &oHskillsetCollection = &oHcompinterface.HSKILLSET;
• rem For &<*> = 1 To &oHskillsetCollection.Count
• rem &oHskillset = &oHskillsetCollection.Item(&<*>);
• rem <*> = &oHskillset.HSKILLSET;
• rem &oHskillset.HSKILLSET = <*>;
• rem <*> = &oHskillset.RATING_SCALE;
• rem &oHskillset.RATING_SCALE = <*>;
• rem End-For;

• /*If Not &oHcompinterface.Save() Then


• errorHandler();
• Exit;
• End-If;*/

• /*If Not &oHcompinterface.Cancel() Then


• errorHandler();
• Exit;
• End-If;*/
Building APIs for C++ ,Java, COM
To build the component interface bindings

• Open any component interface definition in Application Designer.


• Select Build, PeopleSoft APIs.
Runtime Considerations
• Win Message() is unavailable -> Use MsgGet()
function
• Email From a Component Interface
• To use a component interface to send email,
use TriggerBusinessEvent PeopleCode event,
not ‘Send Mail’.
Runtime Considerations
• Infinite Processing Loops

A component interface should not call itself in any of


the PeopleCode included within its component definition
which may result in an infinite loop
A component interface also should not call itself from
a user-defined method

• Multiple Instances of a Component Interface

Because of potential memory conflicts, COM or C++


applications shouldn’t create multiple, simultaneous
instances of the same component interface, either within a
single procedure, or in both a “parent” and a “child”
procedure.
Summary

• CI is a powerful integration tool


• Exposes a PS component for access from
other third party applications (Java, C++,COM)
• Data load using CI mimics online data entry

You might also like