Tuesday, March 31, 2009

PeopleSoft Self Service Overview

Working With Self-Service Transactions in PeopleSoft


This blog provides an overview of self-service transactions and describes how to:

· Configure self-service transactions.

· Set up direct report access for managers.

· Use workflow with self-service transactions.

Understanding Self-Service Transactions


Self-service transactions are designed to be extensions of a core PeopleSoft product. They enable employees to update their personal information or to perform some basic task required by their job.

When the self-service transactions were designed there were two things to consider when an employee entered new data:

· Do you want that new information to update the HR database or do you want a system administrator to update the database?

· Do you want the transaction to go through an approval process? This means that once the new information is submitted, a notification is sent to someone who has to look at this information and approve it before the database can be updated.

Configuring Self-Service Transactions

This section discusses setting rules for self-service transactions and how to:

· Set up approvals and database updates.

· Set up administrator notification rules.

· Set up component interface rules.

· Review transaction activity.

Understanding Rules for Self-Service Transactions

You can set rules that define whether the transaction:

· Goes through an approval process.

· Updates the database or sends a notice to the administrator to complete the transaction manually.

· Who to notify when problems occur during the processing of the transaction or when a transaction successfully completes.

Which Transactions Can Be Configured

The following self-service transactions were designed so users could define how processing for each self-service transaction would behave:

· Performance Document

· Address Change

· Change Full/Part Time Status

· Change Location

· Marital Status

· Name Change

· Promotion

· Reporting Change

· Retire Employee

· Salary Change

· Terminate Employee

· Training Enrollment

· Training Enrollment by Manager

· Transfer

Overview of the Self-Service Processing

The following diagram maps out the process a self-service transaction takes when the transactions is set up to follow the configuration rules.







VI Editor Commands

General Startup
To use vi: vi filename
To exit vi and save changes: ZZ or :wq
To exit vi without saving changes: :q!
To enter vi command mode: [esc]


Counts
A number preceding any vi command tells vi to repeat
that command that many times.



Cursor Movement

h move left (backspace)

j move down

k move up

l move right (spacebar)

[return] move to the beginning of the next line

$ last column on the current line

0 move cursor to the first column on the
current line

^ move cursor to first nonblank column on the
current line

w move to the beginning of the next word or
punctuation mark

W move past the next space

b move to the beginning of the previous word
or punctuation mark

B move to the beginning of the previous word,
ignores punctuation

e end of next word or punctuation mark

E end of next word, ignoring punctuation

H move cursor to the top of the screen

M move cursor to the middle of the screen

L move cursor to the bottom of the screen



Screen Movement

G move to the last line in the file

xG move to line x

z+ move current line to top of screen

z move current line to the middle of screen

z- move current line to the bottom of screen

^F move forward one screen

^B move backward one line

^D move forward one half screen

^U move backward one half screen

^R redraw screen
( does not work with VT100 type terminals )

^L redraw screen
( does not work with Televideo terminals )



Inserting

r replace character under cursor with next
character typed

R keep replacing character until [esc] is hit

i insert before cursor

a append after cursor

A append at end of line

O open line above cursor and enter append mode



Deleting

x delete character under cursor

dd delete line under cursor

dw delete word under cursor

db delete word before cursor



Copying Code

yy (yank)'copies' line which may then be put by
the p(put) command. Precede with a count for
multiple lines.



Put Command
brings back previous deletion or yank of lines,
words, or characters

P bring back before cursor

p bring back after cursor


Find Commands

? finds a word going backwards

/ finds a word going forwards

f finds a character on the line under the
cursor going forward

F finds a character on the line under the
cursor going backwards

t find a character on the current line going
forward and stop one character before it

T find a character on the current line going
backward and stop one character before it

; repeat last f, F, t, T



Miscellaneous Commands

. repeat last command

u undoes last command issued

U undoes all commands on one line

xp deletes first character and inserts after
second (swap)

J join current line with the next line

^G display current line number

% if at one parenthesis, will jump to its mate

mx mark current line with character x

'x find line marked with character x

NOTE: Marks are internal and not written to the file.



Line Editor Mode
Any commands form the line editor ex can be issued
upon entering line mode.

To enter: type ':'

To exit: press[return] or [esc]



ex Commands
For a complete list consult the
UNIX Programmer's Manual



READING FILES
copies (reads) filename after cursor in file
currently editing

:r filename



WRITE FILE

:w saves the current file without quitting



MOVING

:# move to line #

:$ move to last line of file



SHELL ESCAPE
executes 'cmd' as a shell command.

:!'cmd'

Monday, March 30, 2009

Useful PeopleSoft Links

******* Some useful PeopleSoft Links ************

http://www.techonthenet.com/

http://peoplesofttipster.com/applications/

http://www.oracle.com/applications/peoplesoft-enterprise.html

https://metalink3.oracle.com/od/faces/index.jspx

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

Friday, March 27, 2009

PeopleSoft Interview Questions

Development

App Designer: What are the steps to create a component.

App Designer: You just completed development of an inquiry page. What do you need to do to make it available through the web?

PeopleCode: On a Purchase Order entry page, you’ve been asked to make sure the purchasing business unit is the same as the GL business unit. Where would you put the PeopleCode to do this validation? Why?

Application Engine: An application engine program errors out with a Unique Constraint error. What process would you go through to troubleshoot it?

After moving a new custom report into production, the DBA calls and says that the new SQL is running very long. What would you do to troubleshoot the problem and tune the SQL?

Security

A user can’t view a public query. What might be the reason? How would you approach making it available for the user?

Workflow

Describe the basic components of PeopleSoft’s workflow

Integration Tools

How many ways can you think of to import a flat file into PeopleSoft?

Reports are posting in Process Monitor, but aren’t showing up in report manager. What tool would you use to see if the REPORT_CREATE message had errored out?

PERSON_BASIC_SYNC is a message sends changes of employee Personal Data from HR to other PeopleSoft systems. Describe some of the steps required to activate it so that
Personal Data changes are replicated to the Financials application.

Application Architecture

Describe at a high level the different tier’s of the PeopleSoft’s Internet Architecture.
Maintenance and Upgrades

PeopleSoft just released bundle #6 for PeopleSoft financials 8.9. How and where would you apply it? How would you know if it updated a customized object?


Functional

What module are you most familiar with?

What are the top transaction tables in that module?

What other modules does that module integrate with?




Also Found on the web .. Other interview questions.

www.erpgenie.com/peoplesoft/interviewquestions.htm

Thursday, March 26, 2009

NPI check digit validation - PeopleCode Sample

/* NPI check digit Validation PeopleCode
:::::::::::::::: How to do NPI validation ::::::::::::::::::

Assume the 9-position identifier part of the NPI is 123456789.
Using the Luhn formula on the identifier portion, the check digit is calculated as follows:
NPI without check digit: 1 2 3 4 5 6 7 8 9

Step 1: Double the value of alternate digits, beginning with the rightmost digit.
2 6 10 14 18

Step 2: Add constant 24, to account for the 80840 prefix that would be present on a card issuer identifier, plus the individual digits of products of doubling, plus unaffected digits.
24 + 2 + 2 + 6 + 4 + 1 + 0 + 6 + 1 + 4 + 8 + 1 + 8 = 67

Step 3: Subtract from next higher number ending in zero.
70 – 67 = 3

Check digit = 3

NPI with check digit = 1234567893

**********************************************************************/


If %Component = Component.LICENSES_CERTIF Then
If All(LIC_CERT_NBR) And
ACCOMPLISHMENT = "US-NPI" Then

For &I = 1 To Len(RTrim(LIC_CERT_NBR))
&CHAR = Substring(LIC_CERT_NBR, &I, 1);
&ASCII = Code(Substring(LIC_CERT_NBR, &I, 1));
If (&ASCII > 57 or &ASCII <> 10 Then
Error MsgGet(22000, 3, "NPI number should contain 10 digit numeric data only");
End-If;

/* We should always see 10 digit NPI code in Application */
&I = 10;
/* mysum initialized to 24 since it accounts for the first 5 digits 80840 prefix */
&mysum = 24;
&r = 0;
&bflag = 1;


While &I > 0
If &bflag = 0 Then
&r = Value(Substring(LIC_CERT_NBR, &I, 1)) * 2;

If &r > 9 Then
&r = &r - 9;
End-If;
&mysum = &mysum + &r;
&bflag = 1;
Else
&mysum = &mysum + Value(Substring(LIC_CERT_NBR, &I, 1));
&bflag = 0;
End-If;

&I = &I - 1;
/* WinMessage("Mysum is" &mysum) */
End-While;
If ((Mod(&mysum, 10) = 0) And
&mysum <> 0) Then
&a = "Good NPI code"
Else
Error MsgGet(22000, 4, "The NPI number entered is invalid. Please verify.");

End-If;

End-If;
End-If;

Wednesday, March 25, 2009

Converting military time to AM PM format

Below is the code for changing time format from military format to AM PM format. Lot of databases keep the time in HH24:MI format e.g. 14:20 .. but the users may want it to display in user friendly format like 2:20 PM.. so here goes the code to re-format.

If RTrim ($MILITARY_TIME, $Space) <> $Null

Let $HH_TIME = SubStr ($MILITARY_TIME, 1, 2)
Let $MI_TIME = SubStr ($MILITARY_TIME, 4, 2)

Let #HH_TIME = To_Number ($HH_TIME)

If #HH_TIME <>
let $AMPM= ' AM'
else
let $AMPM= ' PM'
End-If

If #HH_TIME = 0
let #HH_TIME = 12
End-If

If #HH_TIME > 12
let #HH_TIME = #HH_TIME - 12
End-If

Let $HH_TIME = To_Char (#HH_TIME)

Let $AM_PM_TIME = $HH_TIME ':' $MI_TIME $AMPM

End-If