ABPS (Activity-Based Planning and Simulation)
See Activity-Based Planning and Simulation.
Programming Component Interfaces in PeopleCode

• Understand PeopleCode behavior and limitations.
• Generate a PeopleCode runtime code template.
• Use and understand the PeopeSoft runtime code template.

Understanding PeopleCode Behavior and Limitations
This section discusses some behavior and limitations of PeopleCode for component interfaces.
Be aware of this when you write PeopleCode for a component interface.
PeopleCode Event and Function Behavior
PeopleCode events and functions that relate exclusively to GUI and online processing cannot
be used by component interfaces. These include:

• Search dialog processing.
When you run a component interface, the SearchInit, SearchSave, and RowSelect events
don’t fire. This means that any PeopleCode associated with these events will not run. The
first event to run is RowInit.

• Menu PeopleCode and pop-up menus.
The ItemSelected and PrePopup PeopleCode events are not supported. In addition, the
CheckMenuItem, DisableMenuItem, EnableMenuItem, HideMenuItem, and
UncheckMenuItem functions aren’t available.

• Transfers between components, including modal transfers.
The TransferPage, DoModalPageGroup, and IsModalPageGroup functions cannot be
used.

• Dynamic tree controls.


Functions related to this control, such as GetSelectedTreeNode, GetTreeNodeParent,
GetTreeRecordName, RefreshTree and TreeDetailInNode cannot be used.
• ActiveX controls.
The PSControlInit and PSLostFocus events are not supported, and the GetControl
function cannot be used.
• DoSave() and DoSaveNow().
The DoSave() and DoSaveNow() pcode functions are not supported. You should use the
component interface Save() method and wrap the DoSave() and DoSaveNow() functions
so they don’t execute when called from a component interface.
• Functions that are ignored in a component interface call.
Some PeopleCode functions are ignored if they are called through a component interface.
These functions are:
􀀃 WinMessage
􀀃 CheckMenuItem
􀀃DisableMenuItem
􀀃 EnableMenuItem
􀀃 HideMenuItem
􀀃UncheckMenuItem
􀀃 SetCursorPos
􀀃 TransferPanel
􀀃 TransferPage
􀀃 DoModalComponent
􀀃 IsModalComponent
􀀃DoModalPanelGroup
􀀃 IsModalPanelGroup
􀀃GetSelectedTreeNode
􀀃 GetTreeNodeParent
􀀃 RefreshTree
􀀃 TreeDetailInNode
􀀃 GetControl
􀀃 DoSave
􀂃 DoSaveNow
Using the Component Interface Software Development Kit (SDK)
• Set SDK prerequisites.
• Use the SDK_BUS_EXPENSES test page.
• Test the SDK_BUS_EXP component interface.
• Using the component interface SDK Java sample.


The PeopleSoft Integration SDK is installed with the PeopleTools installation. It provides
resources to assist you in developing and testing component interface-based integration
between PeopleSoft and third-party applications. The SDK contains sample definitions with
data and source code. For easy identification, all of the definition names start with SDK_.
The SDK is installed in the PeopleSoft home directory (PS_HOME) under sdk.

Note. The SDK definitions and associated data are for development purposes only and not to
be used in a production environment.
Programming Component Interfaces in COM
• Build the component interface APIs.
• Set up the COM environment.
• Generate a Visual Basic runtime code template.
• Use and understand the generated Visual Basic code.

Building the Component Interface APIs for COM


If you plan to access your component interface from a COM external application, you must
create a component interface API. The APIs are in the form of .reg file and typelib files.
To build the component interface bindings:
1. Open any component interface definition in PeopleSoft Application Designer.
Use any component interface definition, because you can build APIs for all of them,
regardless of which one is open.
2. Select Build, PeopleSoft APIs.
The Build PeopleSoft API Bindings dialog box appears.
3. Select the Build check box in the COM Type Library group box.
a. For the target directory, enter the directory in which you want the COM type library to
be created: typically \bin\client\winX86.
b. Enter the COM Server server DLL Location location to specify where the PeopleSoft
API Adapter (psapiadapter.dll) is located: \bin\client\winX86.
4. (Optional) Select the AutoRegister check box to execute the registry file immediately
upon building the API.

This causes your client machine registry to be immediately updated without having to
register it manually.
5. (Optional) Select the Clean-up Registry check box to clean up the registry if you’ve
applied previous versions of Peoplesoft_Peoplesoft.reg.
This is needed so that the older registry settings don’t remain and conflict with settings
made by the latest version.
6. Click OK to build the bindings that you selected.
The files that constitute the bindings are built in the location that you specified. If the
operation was successful, a Done message appears in the PeopleSoft Application Designer
Build window.

To configure a compiler for the C++ project:
Note. These instructions assume you’re using Microsoft Visual C++. If you use a
different compiler, apply the equivalent settings for that product.
1. In MicroSoft Visual C++, create a new project.
2. Select Tools, Options.
3. Select the Directories tab.
4. In the Options dialog box, click the New button.
5. Enter the path to the SDK include files.
For example:
C:\PT840\SDK\PSCOMPINTFC\SRC\C++\SAMPLES\INC
6. Click OK to save the options.
7. Open the Project Settings dialog box.
8. Select the C/C++ tab.

9. Select the General category.
10. Add PS_WIN32 to the preprocessor definitions.
11. Select the Link tab.
12. Select the Input category.
13. Specify the full path to psapiadapter.lib for the Object/library modules.
This is typically \src\lib\psapiadapter.lib. Make sure that this is the only
entry for psapiadapter.lib.
14. Click OK to save the settings.
Generating
Setting Up a Client Machine to Access the Component Interface API Using C++



To set up your client machine to access the component interface API using C++:
1. Install the PeopleSoft File Server.
See the PeopleSoft 8.4 Installation Guide, Chapter 3, Using the PeopleSoft Installer.
2. Install Sun’s JDK 1.3.1 to enable the Sun JVM, if it is not already installed.
3. Set the environment variable PATH to include:
a. The directory containing jvm.dll (typically c:\bea\jdk131\jre\bin\classic)
b. The PeopleSoft PeopleTools client installation directory:
\bin\client\winx86.
4. Set the environment variable CLASSPATH to include the psjoa.jar file (typically
\class\psjoa.jar)
5. Set the environment variable PS_HOME to point to the installed PeopeSoft PeopleTools
directory (for example, c:\pt840).



Building the Component Interface APIs for C++


If you plan to access your component interface from a Java external application, you must
create a component interface API. The APIs are in the form of C header files (*.h), which
needs to be included in the calling program.

To build the component interface bindings:


1. Open any component interface definition in PeopleSoft Application Designer.
Use any component interface definition, because you can build APIs for all of them,
regardless of which one is open.
2. Select Build, PeopleSoft APIs.
The Build PeopleSoft API Bindings dialog box appears.
3. Select the Build check box in the C Header Files group box.
For the target directory, enter the directory in which you want the C++ header file to be
created: typically \bin\client\winX86
4. Click OK to build the bindings that you selected.
The peoplesoft_peoplesoft._i.h file that constitutes the bindings is built in the location that
you specified. If the operation was successful, a Done message appears in the PeopleSoft
Application Designer Build window.


Setting Up the C++ Environment


When deploying component interfaces on a local client machine with C++ bindings, you must
have:
• The third party C++ application.
• The PeopleSoft application server and database.
• The Java Virtual Machine (JVM) supplied with Sun Microsystem’s JDK 1.3.1.
• Your compiler, configured for the C++ project.
Third Party Application
For applications written in C or C++, note the following:
• The function names generated by the Build APIs process can be quite long. You may
want to consider creating classes within your C++ code to mask this length throughout
your program.
• When you create your installation for your C or C++ program, make sure you include
the setup of the path to the psapiadapter.dll.
Generating a Java Runtime Code Template Peopleosoft Component Interface


To access a component interface through PeopleSoft APIs using Java, PeopleSoft Application
Designer generates a template in the form of boilerplate Java code that you can adapt to your
purposes. This section describes how to generate the template code.




To generate a Java template for a component interface:
1. Open a component interface definition in Application Designer.
2. Right-click anywhere in the definition view to display the pop-up menu.
3. Select Generate Java Template.
When the template is successfully generated, a message appears stating the name and
location of the template file.

Note. The template file is generated in the directory specified by the TEMP or TMP
system environment variable on your client machine.
4. Edit the generated file and modify the source code to suit your needs.
5. Compile the source code to generate a .class file.
In the case of the example used in this manual, you could use this command.
javac –classpath c:\temp;c:\pt8\class;c:\PT8\class\psjoa.jar SDK_BUS_EXP.java

Setting Up the Java Environment for Component Interface


When deploying component interfaces on a local client machine or web server with Java
bindings, you must have:
• The third party Java application.
• The PeopleSoft application server and database.
• The Java Virtual Machine (JVM) supplied with Sun Microsystem’s JDK 1.3.1.

To set up your client machine to access the component interface API using Java:


1. Install Sun Microsystem’s JDK 1.3.1 to enable the JVM, if it is not already installed.
2. Set the environment variable PATH to include the directory containing jvm.dll (typically
c:\bea\jdk131\jre\bin\classic).
3. Set the environment variable CLASSPATH to include:
a. The file psjoa.jar (typically \class\psjoa.jar).
b. The target directory selected during the Build API process (\class)
Programming Component Interfaces in Java



If you plan to access your component interface from a Java external application, you must
create a component interface API. The APIs are in the form of *.java source code files, which
should be compiled into Java classes.


To build the component interface bindings:

1. Open any component interface definition in PeopleSoft Application Designer.
Use any component interface definition, because you can build APIs for all of them,
regardless of which one is open.


2. Select Build, PeopleSoft APIs.
The Build PeopleSoft API Bindings dialog box appears.


3. Select the Build check box in the Java Classes group box.
For the target directory, enter the directory in which you want the Java class source files to
be created. This directory is typically \class.


4. Click OK to build the bindings that you selected.


The files that constitute the bindings are built in the location that you specified. If the
operation was successful, a Done message appears in the PeopleSoft Application Designer
Build window.




5. Compile the APIs that you’ve just generated.
You could use these commands.
cd %PS_HOME%\class\PeopleSoft\Generated\CompIntfc
javac –classpath %PS_HOME%\class\psjoa.jar *.java
cd c:\pt8\class\PeopleSoft\Generated\PeopleSoft
javac –classpath %PS_HOME%\class\psjoa.jar *.java
Understanding Runtime Considerations for Component Interface
Programs
In many ways, accessing a component interface is functionally equivalent to working with an
online component. However, there are some important differences between component
interfaces and components. This section describes how those differences affect interactive
operation, functionality designed for graphical interfaces, client vs. server operation, and
several miscellaneous situations. These considerations, unless otherwise noted, apply to all
the programming languages listed in this manual.

This section discusses:
• General considerations
• Scope conflicts
• Interactive mode


General Considerations
This section discusses general considerations for component interface programs.

Saving a New Row
When you use the Create method, you must assign a value to at least one non-CreateKey
property to ensure that the Save method properly validates the row data. If you don’t assign a
value to at least one property, the Save method could erroneously save an invalid record
without generating any warnings.


WinMessage Unavailable
You can’t use WinMessage in a component that will be used to build a component interface.
Use MsgGet() instead.

Email From a Component Interface
To use a component interface to send email, use TriggerBusinessEvent PeopleCode event, not
`SendMail.
Testing the Component Interface
To test the component interface, you search for the component interface to test, then you test
it.

To search for a component interface to test:
1. Open the component interface in PeopleSoft Application Designer.

2. Select Tools, Test Component Interface from the PeopleSoft Application Designer menu.
The Component Interface Tester search dialog box appears. This dialog box displays the
keys (in the left-hand columns) for getting, creating, or finding an instance of the
component interface. The right-hand columns provide a place for you to enter sample key
values for testing.

3. Enter key values.
a. Double-click the column to the right of any displayed keys.
b. Enter the value in the right-hand column.
The data that is used for the test corresponds to the key values that you enter here. In the
preceding example, we’ve entered an employee ID of 6602.

4. Specify whether to run in Interactive mode.
When in Interactive Mode, any action request occurs immediately. Each property being
set causes an immediate trip to the application server (or database server in two-tier
mode). This differs from non-interactive mode, in which actions are often held and later
sent in batches. For example, in non-interactive mode, if you set a property, the property
is not validated until you perform the save. However, in interactive mode the property is
validated immediately. This means that edit processing (and other processing, such as
FieldChange PeopleCode) occurs for each set property.
Whether you select this option depends on how you expect a particular component
interface to be used and what you are currently testing. In a real production system, this
parameter can significantly affect performance, but it makes little difference in the test
component. In non-interactive mode, errors and properties are not updated until a method
is run. By default, Interactive Mode is selected in the component interface tester.

5. Specify whether to get or edit history items.
Selecting Get History Items retrieves history data. Selecting Edit History Items enables
editing and saving of history data. These options apply to effective-dated fields only and
are equivalent to running in either Update/Display or Correction mode online. These
options are initially cleared.

6. Getting existing records for the test.
Clicking Get Existing is equivalent to opening a record in Update/Display or Correction
mode online. It retrieves one row from the database. After you click the Get Existing
button, the Component Interface Tester dialog box appears.

7. Getting existing records using partial keys.
If you want to retrieve a partial key, click the Find button. The Find Results dialog box
appears. You then can choose the specific instance by selecting and clicking the Get
Selected button. If you do not enter a partial key before clicking Find, all key values in
the database are returned (subject to the maximum count of 300, just as when online).
This is the same as calling the Find method through the Component Interface API,
followed by selecting a value from the Find results, setting the Get key, and calling the
Get method. After you click the Get Selected button, the Component Interface Tester
dialog box appears.

8. Creating new records for the test.
Clicking Create New is equivalent to creating a new row in Add mode online. If your
component does not support the Create method, this button is disabled. After you click
the Create New button, the Component Interface Tester dialog box appears.


Testing the Component Interface (after searching)


To test a component interface (after the search is performed):

1. Test component interface properties.
From the Component Interface Tester dialog box, change a value of a property, doubleclick
a value and enter a new value. Some basic validation is done when you leave the
field, which is equivalent to exiting a field using the TAB key in the online case. This
validation includes system edit, FieldChange PeopleCode events, and FieldEdit
PeopleCode events. Further validation may be done when the Save method is called
(SaveEdit, SavePreChange, Workflow, and SavePostChange). If errors or warnings are
encountered, they are displayed in the Error Message Log area at the bottom of the
window. The Error Message Log displays the same text that would appear in the
PSMessages collection of the Session object if you accessed the component through the
Component Interface API.

2. Test component interface methods by right-clicking the component interface name.
A pop-up menu appears showing the Save and Cancel standard methods and any userdefined
methods that exist for the component interface. The Find, Create, and Get
standard methods are not valid for an instantiated component, and therefore are not
shown.
If a component interface method requires one or more parameters, a dialog box in which
you can enter the parameters appears. After the method gets executed, the same dialog
box appears again, displaying changes to the parameters that were caused by the method.
The return value of the function appears in the title of the dialog box. If a component interface requires no parameters, you do not see the initial dialog but, you do see the
return value dialog box following the function call.
Note. Because running a component interface method can result in a change to the
component interface structure, PeopleSoft Application Designer always redraws the
component interface tree in its collapsed form following a method call.

3. Test collection methods by right-clicking the collection name.
A pop-up menu appears, showing the standard collection methods. Select the collection
method that you want to test for this component interface. After you select a collection
method to test, the Enter parameters dialog box prompts you to enter an item number for
the collection method that you are testing. The value that you enter for index [Number]
is used to retrieve, insert, or delete an item, according to the following rules.
After you enter an index number, the result appears in the dialog box. If there is a return
value, it is displayed in the title bar. Otherwise the message No value is displayed. Click
OK or Cancel to dismiss the dialog box.
Testing the Component Interface


After setting the security for a component interface, you can test the contents and behavior
using the component interface tester. You should test the component interface before using it
in your external system. This proactive tool helps you discover problems with the underlying
component or the component interface itself, including user defined methods. When you are
testing a component interface, real data from the database is used. Therefore, if you save the
information that you change by calling the Save method, the information is changed in the
database.
With the component interface tester, you can:

• Test the component interface in interactive mode.
• Retrieve history items.
• Test the standard, custom, and collection methods.
This section discusses how to:
• Test the component interface.
• Determine ItemByKeys parameters.
Setting Component Interface Security - Peoplesoft



After creating a component interface, you must set security for it. Each individual method
also needs to be provided security. Security for the component interface is provided through
the PeopleSoft Internet Architecture pages.



To set up component interface security:
1. Through the browser login to PIA. Select PeopleTools, Security, Permissions & Roles,
Permission Lists.
2. Select the permission list for which you want to set security.
The Permission List component appears.
3. Access the Component Interfaces page.
4. Select the component interface for which you want to set security.
To add another component interface to the list, click the Add button.
5. Click Edit.
The Component Interface Permissions page appears, showing all of the methods (both
standard and user-defined) in the component interface and their method access.
6. Set the access permission for each method.
Select Full Access or No Access. You must grant full access to at least one method to
make the component interface available for testing and other online use.
7. Click OK when you’re done.
8. Press the Save buttom to save these settings.
Validating the Component Interface


Validation ensures that a component interface definition has not deviated from its source
component. This can happen whenever a component deletes or adds a record or field. It can
also happen if the keys on the component are added or removed. Properties and keys that no
longer synchronize with their associated components are marked with an X icon.
Note. The validation process only determines whether the underlying component of a
component interface has changed. It does not validate the PeopleCode that is associated with
a component interface. To validate the PeopleCode, open the component and select Tools,
Validate from the PeopleSoft Application Designer menu.

To correct an invalid component interface, you might have to delete properties for which there
are no longer appropriate fields or records. If the structure of the source component has
changed, you might have to delete old properties and re-add the new properties in their
appropriate locations.

To validate a component interface:
1. Open the component interface in PeopleSoft Application Designer.
Validation occurs automatically whenever you open a component interface in PeopleSoft
Application Designer.
2. Select Tools, Validate for Consistency from the PeopleSoft Application Designer menu to
validate an open component interface.

As you change components or other related definitions, you should validate a component
interface that is already open in PeopleSoft Application Designer.
Creating User-Defined Methods - Component Interface - Peoplesoft


To create a user-defined method:
1. Right-click anywhere in the component interface view.
2. Select View PeopleCode from the pop-up menu.
The PeopleCode editor appears. If using a new component interface no PeopleCode will
appear in the editor because no user-defined methods have been created.
3. Write the required PeopleCode functions.
PeopleCode functions that you write are stored in a single PeopleCode program that is
attached to the component interface and associated with the Methods event.
Note. New user-defined methods do not appear in the list of methods until you save the
component interface. Double-click the icon of any existing user-defined method to return
to this PeopleCode program.

4. Set permissions for the methods that you created.
You must set permissions for every user-defined method. If you set permission to Full
Access, at runtime that function is exposed to external systems as a method on the
component interface object.
Enabling and Disabling Standard Methods Component Interface
You can control whether standard methods are accessible at runtime.

To enable or disable standard methods:
1. Select File, Definition Properties from the PeopleSoft Application Designer menu.
The Definition Properties dialog box appears.
2. Select the Standard Methods tab.
You can enable or disable any of the standard methods selecting the corresponding check
box. Doing so determines whether the method is available at runtime when the component interface is accessed. The Create option is available only if the component interface has Create keys.
Working With Collections 


A collection is a property that points to a scroll, rather than a field, in the underlying
component for a component interface. A collection groups multiple fields in a scroll. All the
fields in the scroll are mapped to a property. These properties are part of the collection.
You create collections the same way you create properties—drag the scroll from the
component view into the component interface view. Consider these points when creating
collections:

• When dragging a scroll into the component interface view, all child scrolls come with
it.

This is the same behavior that you would expect when creating a property. Child
properties are always added automatically when you drag a field from the component
view to the component interface view. After the property or collection has been created,
you can delete individual child properties or collections manually, if necessary.

• When dragging a scroll into the component interface view, all record fields contained
in that scroll come with it—not just those from the record that defines the scroll.
The fields from all records at that scroll level are exposed as part of the same collection.

• Keys that appear in parent and child scrolls are not added to child collections.
For the component interface to function as expected, the keys must remain synchronized
at all levels of the component. Having keys at lower levels makes it possible to
compromise this synchronization. Therefore, lower-level keys are not introduced into the
component interface and are not exposed to the user because those keys have already been
set at the parent level.

• When dragging a child scroll into the component interface view, parent collections are
created automatically.

For example, if you drag just the level-two scroll from the component view into the
component interface view, a level-zero collection and a level-one collection are created
automatically in the component interface. This hierarchy of collections is necessary so
that it’s possible to navigate to the child collection at runtime.

Creating User-Defined Properties for Component Interfaces


User-defined properties come from the component with which the component interface is
associated and must be added manually. They are the specific record fields that you expose to
an external system with the component interface. You create user-defined properties in
addition to the standard properties to enable additional manipulation of the component. When
you create a new component interface, if you accept default properties, user-defined properties
are created automatically.

User-defined properties are the points where the component and the underlying database are
exposed to the external system. This is the means that component interfaces use to add or
change fields and data in the database.


To create a property:


1. Drag a record, field, or scroll from the component view to the component interface view.
It does not matter where you insert the definition in the component interface view. The
system automatically converts the field or record into a component interface property and
places it in the appropriate place in the list of properties. Also, when you drag a definition
from the component view into the component interface view, all “child” definitions are
brought into the component interface automatically. Once these child properties are added
to the component interface, you can remove each property individually, if desired.
Dragging a key from the search records, which precede the level-zero record in the page
view, adds a key to all appropriate key collections (Get, Create, and Find) in the
component interface. Because appropriate keys are added automatically when a
component interface is first created, you typically must add keys only if the new keys are
added to the underlying component after the creation of the component interface.
Setting Component Interface Security : Peoplesoft

After creating a component interface, you must set security for it. Each individual method
also needs to be provided security. Security for the component interface is provided through
the PeopleSoft Internet Architecture pages.


To set up component interface security:
1. Through the browser login to PIA. Select PeopleTools, Security, Permissions & Roles,
Permission Lists.
2. Select the permission list for which you want to set security.
The Permission List component appears.
3. Access the Component Interfaces page.
4. Select the component interface for which you want to set security.
To add another component interface to the list, click the Add button.
5. Click Edit.
The Component Interface Permissions page appears, showing all of the methods (both
standard and user-defined) in the component interface and their method access.
6. Set the access permission for each method.
Select Full Access or No Access. You must grant full access to at least one method to
make the component interface available for testing and other online use.
7. Click OK when you’re done.
8. Press the Save buttom to save these settings.
Validating the Component Interface


Validation ensures that a component interface definition has not deviated from its source
component. This can happen whenever a component deletes or adds a record or field. It can
also happen if the keys on the component are added or removed. Properties and keys that no
longer synchronize with their associated components are marked with an X icon.

Note. The validation process only determines whether the underlying component of a
component interface has changed. It does not validate the PeopleCode that is associated with
a component interface. To validate the PeopleCode, open the component and select Tools,
Validate from the PeopleSoft Application Designer menu.

To correct an invalid component interface, you might have to delete properties for which there
are no longer appropriate fields or records. If the structure of the source component has
changed, you might have to delete old properties and re-add the new properties in their
appropriate locations.

To validate a component interface:
1. Open the component interface in PeopleSoft Application Designer.
Validation occurs automatically whenever you open a component interface in PeopleSoft
Application Designer.
2. Select Tools, Validate for Consistency from the PeopleSoft Application Designer menu to
validate an open component interface.

As you change components or other related definitions, you should validate a component
interface that is already open in PeopleSoft Application Designer.
Associating a Component Interface With a Menu : Peoplesoft


This applies to component interfaces built from components that are already attached to one or
more menus.


To associate a component interface with a menu:
1. Select File, Open from the PeopleSoft Application Designer menu to open an existing
component interface..
2. Select File, Definition Properties from the PeopleSoft Application Designer menu.
The Definition Properties dialog box appears.
3. On the General tab, select the appropriate menu name for this component interface.
To create a new component interface:

1. Select File, New from the PeopleSoft Application Designer menu.
2. Select the Component Interface definition type from the New dialog box.
3. Select the component on which this component interface will be based.
After you select the appropriate component, you see a message asking if you want the
fields exposed in the selected component to become the default properties of the
component interface.
4. Click Yes to confirm the default property definitions or No if you don’t want any
properties initially created.
























An untitled component interface appears, showing the Get keys and Find keys. Create
keys are produced only if the underlying component is able to run in Add mode (the
example preceding this procedure does not have Create keys, because the search record of
the underlying component cannot run in Add mode). PeopleSoft Application Designer
generates the keys for you as you drag definitions.

The standard methods Cancel, Find, Get, and Save are automatically created. The Create
method is not automatically created unless the component supports the Add mode.

Note. You can begin adding properties to a new component interface at any point.
However, you cannot add any user-defined methods to the component interface until you
have saved the component interface.


5. Save the component interface.
Once you have saved the component interface, you can further define user-defined
methods.
Component Interface Attributes
• Name
• Keys
• Properties
• Collections
• Methods



Name
Each component interface requires a name. The calling programs use the name of the
component interface to access properties and methods.


Keys
Keys are special properties containing values that retrieve an instance (get keys) or a list of
instances (find keys) of the component interface. When you create a new component
interface, get and find keys are created based on the search record definition for the underlying
component. However, you can add, remove, or change keys in PeopleSoft Application
Designer. Create keys get created for component that have the “Add” action enabled.


Properties
Properties provide access to component data and component interface settings and status when
they’re exposed through component interface. Component interfaces include two types of
properties:


• Standard properties (InteractiveMode, GetHistoryItems, and EditHistoryItems) are
assigned automatically when a component interface is created.
Standard properties can be set to true or false. These properties are not displayed in the
PeopleSoft Application Designer.


• User-Defined Properties map to record fields on the PeopleSoft component. These
properties are displayed in the PeopleSoft Application Designer. A property can
correspond to a field or a scroll (collection).


Note. Every PeopleSoft Application Designer definition—including the component
interface—has a definition properties dialog box in which you make design-time settings for
the definition. Those properties should not be confused with the runtime properties that are
discussed here.



Collections
A component interface collection is a special type of property that corresponds to a scroll. It
contains fields and subordinate scrolls as defined in its underlying component. By default,
each collection uses the name of the primary record for the underlying scroll.


Methods
A method is a function that performs a specific task on a component interface at runtime.
Likewise, you can use methods to save or create a new purchase order. Like component
interface properties, there are two main types of methods:


Standard methods are those that are available for all component interfaces.
The Find, Get, Save, and Cancel methods are automatically generated by PeopleSoft
Application Designer when a new component interface is created. The Create method
gets created for components that have the “Add” action enabled.


• User-defined methods are created in PeopleSoft Application Designer to provide
added functionality to the component interface.
These methods are functions that are made accessible through the component interface.
Each function maps to a user-defined method.

Component Interface Architecture Diagram
Component Interfaces

A component interface is a PeopleTool to enable exposure of a PeopleSoft component (a set of
pages grouped together for a business purpose) for synchronous access from another
application (PeopleCode, Java, C/C++, COM, or XML). Component interfaces can be viewed
as "black boxes" that encapsulate PeopleSoft data and business processes, and hide the details
of the structure and implementation of the underlying page and data. Component interfaces
can be used to integrate PeopleSoft with another PeopleSoft application or with external
systems.

A component interface maps to one, and only one, PeopleSoft component. A component
interface is created in the PeopleSoft Application Designer by selecting the PeopleSoft
component. Record fields on the PeopleSoft component are mapped to the keys and
properties of the Component Interface. Methods are used to find, create, modify or delete
data.
Deploying the Connector
Deploying the connector involves the following steps:
■ Step 1: Verifying Deployment Requirements
■ Step 2: Copying the Connector Files and External Code
■ Step 3: Configuring the Oracle Identity Manager Server
■ Step 4: Configuring the Target System
■ Step 5: Configuring the PeopleSoft Listener Web Service for Change-Based
Reconciliation
■ Step 6: Importing the Connector XML Files
■ Step 7: Configuring Reconciliation
■ Step 8: Compiling Adapters
If you want to configure the connector for multiple installations of PeopleSoft User
Management, then perform the following procedure:
■ Configuring the Connector for Multiple Installations of the Target System
Oracle Identity Manager




■ Oracle Identity Manager Installation and Upgrade Guide for JBoss

■ Oracle Identity Manager Installation and Upgrade Guide for WebLogic
■ Oracle Identity Manager Installation and Upgrade Guide for WebSphere
■ Oracle Identity Manager Administrative and User Console Guide
■ Oracle Identity Manager Administrative and User Console Customization Guide
■ Oracle Identity Manager Design Console Guide
■ Oracle Identity Manager Tools Reference Guide
■ Oracle Identity Manager Audit Report Developer Guide
■ Oracle Identity Manager Best Practices Guide
■ Oracle Identity Manager Connector Guide for BMC Remedy User Management
■ Oracle Identity Manager Connector Guide for CA-ACF2 Advanced
■ Oracle Identity Manager Connector Guide for CA-Top Secret Advanced
■ Oracle Identity Manager Connector Guide for Database Application Tables
■ Oracle Identity Manager Connector Guide for Database User Management
■ Oracle Identity Manager Connector Guide for IBM RACF
■ Oracle Identity Manager Connector Guide for IBM RACF Advanced
■ Oracle Identity Manager Connector Guide for IBM Lotus Notes and Domino
■ Oracle Identity Manager Connector Guide for Microsoft Active Directory
■ Oracle Identity Manager Password Synchronization Module for Microsoft Active 

Directory Installation and Configuration Guide


■ Oracle Identity Manager Connector Guide for Microsoft Exchange 2000 and 2003
■ Oracle Identity Manager Connector Guide for Microsoft Exchange 5.5
■ Oracle Identity Manager Connector Guide for Microsoft Windows 2000
■ Oracle Identity Manager Connector Guide for Microsoft Windows NT 4.0
■ Oracle Identity Manager Connector Guide for Novell eDirectory
■ Oracle Identity Manager Connector Guide for Novell GroupWise
■ Oracle Identity Manager Connector Guide for Oracle e-Business Employee Reconciliation
■ Oracle Identity Manager Connector Guide for Oracle e-Business User Management
■ Oracle Identity Manager Connector Guide for Oracle Internet Directory
■ Oracle Identity Manager Connector Guide for PeopleSoft Employee Reconciliation


Oracle Identity Manager Connector Guide for PeopleSoft User Management

■ Oracle Identity Manager Connector Guide for Siebel Enterprise Applications
■ Oracle Identity Manager Connector Guide for RSA Authentication Manager
■ Oracle Identity Manager Connector Guide for RSA ClearTrust
■ Oracle Identity Manager Connector Guide for SAP CUA
■ Oracle Identity Manager Connector Guide for SAP Employee Reconciliation
■ Oracle Identity Manager Connector Guide for SAP Enterprise Portal
■ Oracle Identity Manager Connector Guide for SAP User Management
■ Oracle Identity Manager Connector Guide for Sun Java System Directory
■ Oracle Identity Manager Connector Guide for UNIX SSH
■ Oracle Identity Manager Connector Guide for UNIX Telnet


Oracle is committed to delivering the best and most recent information available. For 
information about updates to the Oracle Identity Manager 9.0.2 connector 
documentation set, visit Oracle Technology Network at


http://www.oracle.com/technology/documentation/index.html





Talent Management applications enable you to understand your current workforce—what skills you have available and where they are being used. To best manage your business you must understand what skills are critical to your organization and how well people with those skills are performing. You must also anticipate where supply and demand for people, skills, or both are likely to be mismatched. PeopleSoft Talent Management applications provide that information and empower you to take action to achieve the optimal workforce for your organization.

Using our Talent Management 9.1 applications with your existing PeopleSoft HCM system provides you with the best in cutting-edge talent functionality. It also provides additional value to you, such as:

Oracle protects and leverages your existing significant investment in PeopleSoft.
•Industry-leading talent functionality provides best-in-class, enterprise level Talent Management.
•Integrated data and business processes provide talent integration throughout the entire employee lifecycle.
•Employee and business process data that’s structured similarly across all applications and releases.
•Talent Management 9.1 and your existing PeopleSoft HCM applications share the same technical foundation and supportability tools and processes which lead to easier maintenance and upgrade paths.
•Consistent single user interface and enhanced user experience results in increased user adoption and reduced training costs.
•Merged navigational structure eliminates the need to navigate outside of your PeopleSoft system to access talent applications. Consistent navigation patterns in a PeopleSoft-to-PeopleSoft integration eliminates the need to navigate to another system with different navigation.
•Your core employee data and talent profile data is maintained within a single system of record that is easily updated through self-service.
•A common security model enables single sign on, streamlines processes and reduces the cost of security maintenance.
•The ability to display useful (related) content across applications provides enhanced collaboration and more effective decision making.
•New PeopleTools 8.50 features such as drop down navigation, type ahead search, and hover over display enhance employee productivity.

•Unparalleled global functionality allows you to grow your business worldwide.

There are many compelling reasons to use our Talent Management 9.1 applications as an easily integrated part of your current PeopleSoft HCM system. As always, PeopleSoft is dedicated to providing our customers with the best user and total ownership experience in the enterprise applications business.
Peoplesoft Talent Management 9.1 Overview
Every organization wants the best Talent Management capabilities available today. Oracle’s PeopleSoft Talent Management 9.1 applications offer you those capabilities and allow you to enjoy robust Talent Management functionality while continuing to use your current PeopleSoft HCM installation. Also, our superior technology platform provides you significant productivity benefits and secures the future of your entire HCM enterprise.

► You can use our Talent Management 9.1 applications today without upgrading your existing PeopleSoft HCM system.
► When you use our Talent Management 9.1 applications, you also gain a tremendous amount of valuable functionality across your entire enterprise.
► Using our suite of Talent Management applications ensures optimal integration of your talent processes and data.
► With Talent Management 9.1, you secure the future of your HCM enterprise applications with a consistent overall system that will work well together both now and as you grow and enhance your organization’s operations.

PeopleSoft applications are architected with a common and consistent underlying technology that supports interoperability. Deep data and business process integration have always been a cornerstone of PeopleSoft’s applications. You can leverage this superior architecture to use our latest Talent Management 9.1 applications while continuing to use your other current core PeopleSoft HCM applications.

Oracle’s PeopleSoft application strategy and development teams consider Talent Management an integral part of our overall HCM strategy. As part of that strategy we have a very robust, long-term plan to ensure that you’ll see continued added value in our Talent Management and HCM applications. Other third-party vendors may also have a long-term strategy, but it can only be for a separate, standalone application. There is tremendous value in having your Talent Management solution included as an ongoing part of your HCM system’s long-term future.

GSC COBOL Documents (Solutions)

Below is a list of some important documents ( solutions) on Metalink.
This is not a complete list and this document will be updated periodically with corrected information.

Summary

E-COB: Net Express Cobol compiler - How to resolve the "license is not setup correctly" error (Doc ID 753692.1)
E-COB: Files\Micro was unexpected at this time error when compiling cobol (Doc ID 618022.1) 
E-COB: Unable to compile any COBOL Programs using the NetExpress compiler (Doc ID 610711.1)
E-COB: Net Express cobol compiler install fails with error "Error 1721. There is a problem with the Windows Installer package. A program required for this install to complete could not be found." (Doc ID 780015.1)
E-COB: Net Express 4.0 install- Failed to set Integrated Development Environment (Doc ID 654788.1)
E-COB : Error installing NetExpress 4.0 runtime license patch (ULP) (Doc ID 655099.1)
E-COB: Net Express compiler error "Your Net Express license has been corrupted" (Doc ID 664394.1)
E-COB: The License database for the Net Express application server has been moved from its original location or removed and recreated.Delete the database,which is mfasdb,and reinstall the license keys (Doc ID 778962.1)
E-COB: Net Express 3.1 SP1 Semaphore failure. ASLM : Errno 1000 and Errno 1002 (Doc ID 618345.1)

E-COB: Invalid Product Error when applying server express 4 SP2 cobol compiler fix pack 77 (SX40SP2-RedHat-32bit-Fixpack40
E-COB: Cobol processes fail with error No Application Server License Available: 5 system and 0 user license installed 5 in use (Doc ID 794766.1)
E-COB: Installing COBOL compiler license "This is a Development System license! (Doc ID 660056.1)
E-COB: COBOL Programs Error : No Application Server License available on Unix (Doc ID 611140.1)
E-COB: Linking cobol psrun.mak error -> cob64: can not execute as (Doc ID 662354.1) 
E-COB: Linking cobol psrun.mak gives error "ld: cannot find -lgcc" (Doc ID 660798.1)
E-COB: Disaster Recovery and cobol Server Express compiler on UNIX (Doc ID 662980.1)
E-COB: How to copy Server Express COBOL compiler from an existing UNIX machine to another/new UNIX machine ? (Doc ID 763968.1)
E-COB: Installing multiple Server Express cobol compiler releases on one machine (Doc ID 664113.1)
E-COB : How to Trace COBOL Process flow on UNIX (Doc ID 650869.1) 
E-COB: Cobol license manager. Unable to open License Key database (Doc ID 660113.1)
E-COBOL: Micro Focus LMF - 006: You are not licensed to use this product ... (Doc ID 618428.1)
E-COB: Load error : file 'psauto64.int' unsupported format when applying ULP (Doc ID 661674.1)
E-COB: PSRUN: error while loading shared libraries: libcobrts.so: cannot open shared object file: No such file or (Doc ID 786557.1)
Documents
E-COB: Tools 8.48 - error code: 211 Program not executable by Run-Time System (Doc ID 650863.1) 
E-COB: Micro Focus LMF-004: You have exceeded the license limit for this product (Doc ID 624132.1)
E-COB: Tools 8.48 -COBOL error Code: 00404 SQLRT: Unable to connect to database (Doc ID 650883.1) 
E-COB: Tools 8.49.14 All COBOL programs fail PTPSQLRT-ERROR IN BIND SETUP/DATA (Doc ID 664888.1)
E-COB: Compile warning message " Ignored - LINKCOUNT "1024" " (Doc ID 782851.1) 
Error messages


A : Issues of License Manager


1.         Micro Focus LMF - 002: The license database is corrupt.


The License Manager detected corruption in the license database. The license database may have been tampered with. Therefore, the License Management Facility terminated execution of the licensed product.
Follow the Instructions of  Doc ID 611140.1


2.         Micro Focus LMF - 005: You have exceeded the license limit for this product.

You will be getting this error message when multiple users are trying to compile the COBOL programs at the same time. Make sure you have enough licenses to cater all the users to compile or contact customer care to buy extra licenses.


3.         Micro Focus LMF - 006: You are not licensed to use this product or version.

If you have got the COBOL compiler from peoplesoft.
a.         You may have installed the COBOL compiler in 64-bit mode. To change the COBOL compiler mode use the following command
cobmode –s 32
b. Check license licenses through License Administration Services.



4.         Micro Focus LMF - 008: Maximum license database size exceeded.

The license database has too many licenses to be loaded by the License Manager. Therefore, the License Management Facility terminated execution of the licensed product. So uninstall the licenses that are not required through License Administration Services



5.         Micro Focus LMF - 010: Unable to contact License Manager.

This product has been unable to contact the License Manager.
Therefore, the License Management Facility terminated execution of the licensed product. Check the license manager is running.



B :  How to stop "The license database is corrupt" error.
Analysis:
When you try to start LMF the error message "The license database is corrupt" is issued. There may have been a system crash and reboot. You may also see this error when you try to start License Administration Services.
Solution: The simplest solution to this problem is to rebuild the LMF database files.

1. Make sure that no LMF functions are running.
a. Signed on as root, cd to the correct mflmf directory. (Where LMF was installed. The default is /usr/lib/mflmf or /opt/lib/mflmf.
b. Issue the command ./lmfgetpv. If license manager is running, issue ./lmfgetpv -k to kill it. Then issue ps -aef | grep mflm and kill any other license processes that might not be registered.

2. Delete all four of the license data bases > rm mflmfdb*
3. Start License Administration services with >sh ../mflmadm  and reinstall the serial number and license keys from the License Key Folder as described in the Micro Focus License Management Administrator's Guide.
Note: DO NOT enter any spaces into the license key even if there are spaces shown on the folder.
Exit to the UNIX command prompt.

4. Start license manager with >sh ./mflmman.
Summary:
Once the license management databases become corrupt, the quickest and simplest way to recover is to rebuild the database files.
Can we install two different version of ServerExpress on one machine


Two versions of COBOL compilers can be installed on the same machine as long as they run under different directories.  You can install on same machine but under different directories.  The license database for both of them should be served by only one license manager. The license manager version should be the version that came with the latest compiler.

You will just need to install the compiler on a different location & if the compiler is bought from peoplesoft, skip the license management facility.  They must be installed in separate $COBDIRs but one license daemon (mflm_manager) will serve both products.
How to Start and stop the license manager


1)  Must be logged in as  root

2)  Check status & stop
    cd $COBDIR/lmf
     lmfgetpv                      <<  Shows Status
     lmfgetpv k                   <<  Stops LMF

3)  To start
     cd /usr/lib/mflmf          ( on AIX  it would be /opt/lib/mflmf on other OS's )
     sh ./mflmman

>>>>>>> 
Verify the status that the License Manager is running
./lmfgetpv            If it is running this command will return the version number of the running License Manager & the path from where it was loaded.

Starting the License Manger
./mflmman [FORCE | WAIT] [TRACE]
            Force = The License Manager does not by default start up if there are still licensed tasks running that were started from a previous run.  When this happens, you can use FORCE to force the License Manager to first terminate the previously started tasks & then to start.     
            Wait = This suspends the License Manager until any outstanding licensed tasks from a previous License Manager have finished.  Use this when you do no want the existing licensed tasks to be terminated prematurely, and want to wait until they have finished naturally.
            Trace = Creates a log of the License Manager activity in MF-LMF.log
Stopping the License Manager
./lmfgetpv k      This will stop the License Manager

How to find The license Manager Directory - Cobol Peoplesoft

1. Change to $COBDIR/lmf
2. Run the command ./lmfgetpv
    License Manager version 121
    Loaded from /products/mf/svrexp-1.1/mflmf   
Check the output of three commands (login as root):

$PS_HOME/bin> cobrun
$PS_HOME/bin> cob -v   <---(small  "v")
$PS_HOME/bin> cob -V  <---(upper  "V")
 









If Output of  $ cob -V

version @(#)cob.c       1.310
PRN=RXCPR/AAM:9h.N3.40.03
PTI=SP1
PTI=Fixpack40.03_10
I see no work

Then compiler is Server Express 4.0 SP1 FixPack 10

Similarly below is the output of $ cob –V for ServerExpress 4.0 SP2
version @(#)cob.c       1.313
PRN=RXCTO/AAD:9i.T4.40.03
PTI=SP2
I see no work

To check  whether ServrExpress compiler is installed in 32 bit or 64 bit mode , check the output of

$ cob -v
and it should be like below for 32 bit mode.

cob32 -C nolist -v
I see no work

And for 64 bit , it will be like

Cob64 -C nolist -v
I see no work
Steps: 1  Log in PIA – SetUp HRMS – Installation Table


Steps:  2 Check dbcodes.hc in PS_HOME/setup

How to Compile and link cobols on unix

First make sure the basic is set properly.
On Digital Unix and Sun Solaris, the variable to check is LD_LIBRARY_PATH.
On HPUX, the variable is SHLIB_PATH.
On AIX, the variable is LIBPATH.
A typical LD_LIBRARY_PATH, SHLIB_PATH, or LIBPATH might be:

LD_LIBRARY_PATH=/usr/lib/cobol/coblib:/usr/sybase/lib
This can be set in the .profile or the psconfig.sh file in the $PS_HOME directory.
1)  COBDIR <== Should point to where the compiler is installed
2)  PATH <== Should have your $COBDIR/bin (which cob will tell you which one it is executing)
3)  LD_LIBRARY_PATH, LIBPATH, SHLIB_PATH <== Should have $COBDIR/lib (depending on flavour of unix)



Then at the prompt if you type  ' cob ‘, you should get a message to the effect saying I see no work.
Please follow the 'Compiling COBOL on UNIX' in PeopleTools installation guide to check the environment variables.

MicroFocus advises "unset COBPATH" when compiling, leaving
$COBPATH set when executing is okay!

To test a compile, set your env minus $COBPATH and create a temp directory:
# cp -p $ COBDIR/demo/debug/pi.cbl  /tmp/location
Change to your /tmp/location:
# cob pi.cbl
This should compile if all is well...

In Unix all you need to do to compile all the COBOL is from the $PS_HOME/install directory type:
pscbl.mak
Linking cobol
psrun.mak

Setting Environment Variables
On your UNIX system, you need to log in and ensure the following environment variables are set appropriately.  Alternatively, make sure the following environment variables are set in the .profile file in the user's home directory:

• $ORACLE_HOME must point to the correct Oracle installation; for example:
ORACLE_HOME=/products/oracle/8.1.7;export ORACLE_HOME
• $ORACLE_HOME/bin must be added to PATH; for example:
PATH=$PATH:$ORACLE_HOME/bin;export PATH
• $ORACLE_HOME/lib must be appended to LD_LIBRARY_PATH, LIBPATH, or SHLIB_PATH,
whichever is appropriate for your platform.
• $ORACLE_SID must be set to the correct Oracle instance; for example:
ORACLE_SID=hdmo;export ORACLE_SID

• $COBDIRmust be set to the Server Express installation; for example:
COBDIR=/cobol/prod/svrexp-2.2.SP1;export COBDIR
• $COBDIR/lib must be appended to LD_LIBRARY_PATH, LIBPATH, or SHLIB_PATH, whichever is appropriate for your platform.
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COBDIR/lib;export LD_LIBRARY_PATH
LIBPATH=$LIBPATH:$COBDIR/lib;export LIBPATH
SHLIB_PATH=$SHLIB_PATH:$COBDIR/lib;export SHLIB_PATH
• $COBDIR/bin must be appended to the PATH; for example:
PATH=$PATH:$COBDIR/bin;export PATH
To set the required PeopleSoft environment variables, run psconfig.sh. Enter the following command:
cd
. ./psconfig.sh