Tuesday, April 10, 2007

Service Administration Tip: Environment for Change Assistant

This tip helps with getting Change Assistant to run. You have to get all the pieces talking together in order to use Change Assistant.

Start with the Hub

Log into URL http://<server>:<port>/PSEMHub/hub

This page will tell you what processes are connected to the hub.

Determining the port --
check the configuration file: <weblogic home>\config.xml
Domain tag > Server tag > ListenPort attribute

or check the weblogic administration console
Click on Servers under Domain Configurations -- Metwork Configuration
The port number should be listed in the Listen Port column.

If the hub is not running
change directory to <PIA home>/
one time startup:
    startManagedWebLogic PSEMHUB
          (all capitals for the PSEMHUB)
or install as a service
    installNTService PSEMHUB
          (make sure to also start the service)

Resources
"Running the Hub on Multiple Servers"


Agent

Configure:
change the file -- <ps home>/PSEMAgent/envmetadata/config/configuration.properties
Change property hubURL to the valid URL for the Hub discussed above
Change the windowsdriverstocrawl or the unixdriverstocrawl to the locations where PeopleSoft is installed

Start the agent
  change directory to: <ps home>/PSEMAgent
  run StartAgent
or
  change directory to: <ps home>/bin/server/WinX86
  run psemAgentService /install <ps home>/PSEMAgent

Resources
"Running an Agent"
"Automatically Starting an Agent in Windows"


This post has moved to: Wordpress

Saturday, March 24, 2007

Server Administration Tip: Logging Into the Weblogic Console

URL:
http://<hostname>:<port>/console
Note: the port may or may not be the same port number as the port you use for PeopleSoft.

Directories
web logic is generally installed in <ps home>\webserv\
generally there is only 1 folder in <ps home>\webserv and that is the domain name

Determining the host name and port
look in: <weblogic home>\setEnv.cmd
SET ADMINSERVER_PROTOCOL=HTTP
SET ADMINSERVER_PORT=<port number>
SET ADMINSERVER_HOSTNAME=<server name>
SET ADMINSERVER_SERVERNAME=WebLoginAdmin

or you can look in: <weblogic home>\config.xml
Domain tag > Server tag > ListenPort attribute


Default Login
user: system
password: password

Starting the Console
if it doesn't connect, you may have to start it manually
startWebLogicAdmin
same directory as setEnv.cmd

Installing as a service
installNTService
with no parameters

This post has moved to Wordpress.

Wednesday, February 14, 2007

News: PeopleSoft 9

HRMS / Student 9.0 has been released. According to the E-Delivery website, the release date was February 11th

You can download a 30 day evaluation from:
Oracle's E-Delivery website

You can view the documentation at:
Oracle Technology Network

While the major version number changed, the PeopleTools major version did not. The E-Delivery website delivers with PeopleTools 8.48.

This post has moved to Wordpress

Wednesday, February 07, 2007

Registration Reference

In teaching my classes, the component registration has always caused the most trouble. First, the new PeopleSoft programmers have trouble remembering the steps. Second, something always seems to go wrong, and the students don't know where to start looking. Hopefully, this reference should help.

Three Parts
1. Menu -- add the component to the menu
2. Portal -- add a link to the online menu system
3. Security -- add the component/menu to a permission list


Manual vs. Registration Wizard

PeopleSoft added the "Registration Wizard" to Application Designer to create a quick easy to register a new component. The key concept is that it exists for new registrations and does not help when fixing problems or changing the registration.

You can use the wizard for all three parts, just one part, or any combination in between. The first page of the wizard will ask you which steps you want to perform, and you just check the parts you want.

Things you can do with the wizard:

  • add a component to an existing menu
  • add a component to the portal menu if it is not already on the portal
  • add a component to a permission list

Things you cannot do with the wizard (can be done manually):

  • change or set the label on a menu item
  • move a component from one menu to another
  • create a new menu and add a component
  • change the folder or edit portal content references
  • add a component to a new folder in the portal that does not exist
  • add the component to the portal a second time

Bottom Line: the wizard is for new registrations, not fixing or changing

Registration Wizard Pages
Page 1: Select which parts you want to perfom
Page 2: Select the menu -- either the menu to add it to or the menu it is already on
Page 3: Enter the Portal information -- for creating the content reference; optional
Page 4: Pick the permission list -- adding the component to the permission list; optional
Page 5: Review/add definitions to the project

Part 1 -- Menu
Manually, this is done in Application Designer.
  • Add to an existing menu: Ctrl + O, pick menu for the type, and enter the menu name
  • Add to a new menu: Ctrl + N, pick menu for the type

In either case, you drag the component from the project to the menu. Hold the component over the bar item and wait for it to expand, then, drop the component on the box with the dotted line. Or, you can double click on the box with the dotted line, and fill out the information manually.

In the wizard, you much select the menu that you want to add the component to and the bar on that menu where the component should go. The menu must already exist to use the wizard -- the wizard will not create a menu and you cannot create an empty menu first (the menu must have at least one component on it).

Also, remember if you use the wizard, but you choose not to add the component to the menu with the wizard, it will still ask you for the menu name. Both the portal registry and the permission list require a menu-component combo. The wizard will only use the menu name on the portal and the permission list rather than add the component to the menu.

Part 2 -- Portal Registry
Manually, you must place the component in the registry online.
Navigation: PeopleTools > Portal > Structure and Content
First, navigate to the folder where you want to add the content reference. Then, click "Add Content Reference" at the bottom of the page.

If you are editing a content reference, you must click on the "Edit" link next to the content reference to change any information.

Warning -- pay special attention to the spelling of the menu name and the component name. The page will not tell you if you spell it wrong. It just won't work.

Using the wizard, first you must know the name of the folder where you want to add the component. If you don't know the name, you must use the manual method to find the folder, and click the "Edit" link to get the name.

The other information in the wizard is the same as the manual method.

Part 3 -- Permission Lists

Manually, you must also do this step online.
Navigation: PeopleTools > Security > Permission Lists & Roles > Permission Lists
First, search for the permission list that you want to add to the component to. Then, go to the pages tab (although it shows a list of menus, you will eventually pick the pages the user has access to). Either find the menu in the list, or add the menu to the list. Then, click the "Edit Components" link for that menu. Next, find the component, and click the Pages link. Finally, select the pages and the actions to grant security.

Additional Pieces
Note: none of these can be added with the registration wizard
  • User Profile (user name that the user logs in with):
    PeopleTools > Security > User Profiles > User Profile
  • Role (links the User profile to the permission list):
    PeopleTools > Security > Permissions & Roles > Roles


In the wizard, you simply pick the permission list and choose the actions to give security. The wizard gives access to all pages in the component.


This post has moved to Wordpress

Monday, January 08, 2007

PeopleTools Bug

If you are coding an Application Package, and you get this error message:

PeopleTools Affirm Triggered
PSAFFIRM(!pItemFound) failed at e:\pt846-908-r1-retail\peopletools\src\inc\stringhash.h, line 157. See trace file. Press Cancel for debugger.

Here is the solution:

Basically, you have a property with the same name as one of your instance variables. For example:

class ExampleClass
method ExampleClass();
property String ExampleDescription get set;
private
instance String &ExampleDescription;
end-class;

To fix the problem you can change it to:


class ExampleClass
method ExampleClass();
property String ExampleDescription get set;
private
instance String &strExampleDescription;
end-class;

This post has moved to Wordpress

Wednesday, January 03, 2007

PeopleTools Reference: Common Meta-SQL

If you were to learn just a select few Meta-SQL, these are the ones that I would recommend:
%SelectAll
%SelectAllByKey & %SelectAllByKeyEffdt
%Table
%DateIn & %DateOut%Insert
%Update
%Delete

There are many others. Please refer to the PeopleTools PeopleBook for more information.


This post have moved to Wordpress.

Tuesday, December 26, 2006

PeopleTools Reference: Meta-SQL %Delete

generates a delete statement using the values from a record object

This command will pull the record name, the key fields, and the values for those key fields to generate the delete statement. This will result in the statement deleting one row from the database since the statement includes all of the keys for the record.

Example

Local Record &recJob;
&recJob.EMPLID.value = &emplid;
&recJob.EMPL_RCD.value = &empl_rcd;
&recJob.EFFDT.value = &effdt;
&recJob.EFFSEQ.value = 0;
SqlExec("%Delete(:1)", &recJob);

This post has moved to Wordpress

PeopleTools Reference: Meta-SQL %Update

generates an update statement to change the database to match the values in the record object.


Example

Local Record &recJob;
&recJob.EMPLID.value = &emplid;
&recJob.EMPL_RCD.value = &empl_rcd;
SQLExec("%SelectByKeyEffdt(:1)", &recJob, %Date, &recJob);
&recJob.DEPTID.value = &deptid;
SQLExec("%Update(:1)", &recJob);


This post has moved to Wordpress.

PeopleTools Reference: Meta-SQL %Insert

generates an Insert statement to insert the data from a record object into the database.

Remember that a record object (not a record definition) stores both the record structure (table name and field name) and the field values. Therefore, the system has everything it needs to write an insert statement: insert( ... field list ... ) values ( ... options ...).

Examples

Local Record &myRecord;
&myRecord.KEY1.value = "Key Value";
&myRecord.FIELD1.value = "Field Value";
SQLExec("%Insert(:1)", &myRecord);

This post has moved to Wordpress/

PeopleTools Reference: Meta-SQL %SelectByKey

generates a select statement based on the given record definition.

Remember that a record object (not a record definition) stores both the record structure (table name and field name) and the field values. Therefore, the system has everything it needs to write a select statement: select ... list of fields ... from ... table name ... where ... key field name ... = ... value for that field ... and so on.

Related: %SelectByKeyEffdt

does the same thing except it adds the effective dating criteria to limit it to the most recent rows.

Examples

Local Record &recJob;
&recJob = CreateRecord(RECORD.JOB);
&recJob.EMPLID.value = &amp;amp;amp;emplid;
&recJob.EMPL_RCD.value = &amp;empl_rcd;
&recJob.EFFDT.value = &amp;effdt;
&recJob.EFFSEQ.value = &effseq;
SqlExec("%SelectByKey(:1)", &recJob, &amp;recJob);
WinMessage("Job Code: " | &recJob.JOBCODE.value);


Local Record &recNames, &recOutput;
&recNames = CreateRecord(RECORD.NAMES);
&recOutput = CreateRecord(RECORD.NAMES);
&recNames.EMPLID.value = &amp;emplid;
&recNames.NAME_TYPE.value = "PRI";
SqlExec("%SelectByKeyEffdt(:1)", &recNames, %Date, &recOutput);


This post has moved to Wordpress

PeopleTools Reference: Meta-SQL %SelectAll

Generates a select statement that selects all the fields from a chosen record.

Typically, when you use the %SelectAll, you would use a record object to store the results. That way you don't have to know how many fields your result will return.

Examples

%SelectAll(JOB)

Local Record &myRecord;
&myRecord = CreateRecord(RECORD.MY_RECORD);
SQLExec("%SelectAll(:1) WHERE MY_KEY = :2", &myRecord, "My Key", &myRecord);

Local Record &myInstallation;
&myRecord = CreateRecord(RECORD.INSTALLATION);
SQLExec("%SelectAll(:1)", &RECORD.INSTALLATION, &myInstallation);

This post has moved to Wordpress.

PeopleTools Reference: Meta-SQL %Table

%Table

Replaces with the actual table name of the given record.

Generally, this just means adding a "PS_" to the front of the record name. But, PeopleTools actually checks the alternate table name from the Record Type tab to see if a value is there first.

Two Uses:
  • Access a table with a reference or record object rather than embedding a table name in the SQL; PeopleTools will not index the table/record in a string literal.
  • Reference the Temporary table in an App Engine; %Table is the only way to reference the table because the table name is assign dynamically at run time.

Examples:

SELECT * FROM %Table(JOB) WHERE EMPLID = :1

SqlExec("SELECT NAME FROM %Table(:1) WHERE EMPLID = :2", Record.NAMES, &emplid, &name);

&sql = CreateSql("SELECT * FROM %Table(:1) WHERE EMPLID = :2", &MyRecord, &emplid);

INSERT INTO %Table(MYTEMP_TAO)
SELECT * FROM PS_MYDATATABLE

This post has moved to Wordpress.

PeopleTools Reference: Meta-SQL DateIn/DateOut

DateIn

Description

Converts a date into the form the database uses.
Used for:
  • Where clauses
  • Insert/Update

Remember DateIn passes a date into the database.

DateOut

Description

Converts a date into the form that PeopleTools uses.
Used for:
  • Select clause

Examples

SELECT %DateOut(MAX(EFFDT))
FROM PS_JOB
WHERE EMPLID = :1
AND EMPL_RCD = :2
AND EFFDT <= %DateIn(:3)

INSERT INTO PS_MY_RNCTL(OPRID, RUN_CONTROL_ID, AS_OF_DATE)
VALUES(:1, :2, %DateIn(:3))

UPDATE PS_MY_TABLE
SET MY_DATE = %DateIn(:1)
WHERE MY_DATE <= %DateIn(:2)

This post has been moved to Wordpress.