Search This Blog

Thursday, September 9, 2010

Forgot my password Implementation


I have seen lot of documents on the Forgot password implementation on web. Nothing seems to be accurate or complete in detail. This document has all the relevant details to implement the same.


Tino Simon, PeopleSoft Consultant

Resolve MetaSQL

For the people who haven’t noticed this yet. How to see the resolved SQL, If you come across metasSQL while you code.

Right click on the SQL, then select the Resolve meta SQL option as shown in the screenshot below.


Date validation function: REGEXP_LIKE

You might have used this function earlier for data validation, while working with conversions and interfaces. I came across this function while the KT section was going on. So effective to validate the incoming data from the inbound files. Further searching for the same, I landed in my colleagues blog: peoplesoft learnings blog. Below is what Ganesh has posted in his blog.

In Peoplesoft where we read data from the files, especially for inbound interface , conversion and one time data load. Date is usually read as character field in different format and converted to date. We need to validate the date for further processing. It will be good if we can validate date field in SQL (set processing) than the validating using people code (row by row). Oracle doesn't have very useful function IsDate() not sure why.

Lets see how we can do set processing for the date validation.

1) Regular expression came to my mind to check the pattern and validate the date easily.

Select 'X' from dual
Where REGEXP_LIKE ('1999-10-10','^(1920)\d\d[- /.](0[1-9]1[012])[- /.](0[1-9][12][0-9]3[01])$')
This is simple regular expression which matches only the date format. It doesn't check for leap years and 30,31 days for all the months.

2) Select 'X' from dual
Where NOT REGEXP_LIKE ('2009-2-29','^((((1920)(([02468][048])([13579][26]))-02-29))((20[0-9][0-9])(19[0-9][0-9]))-((((0[1-9])(1[0-2]))-((0[1-9])(1\d)(2[0-8])))((((0[13578])(1[02]))-31)(((0[1,3-9])(1[0-2]))-(2930)))))$')

This regular expression is quite big difficult right every time correctly. Need to copy paste where ever it is requried.

3) if the regular expression is getting difficult, then can create a PL/SQL function and use that function in the sql to validate.
we can use the above sql itself in the function. or use the following.

function IsDate (str long) return boolean is the_Date date;
begin
the_date := to_date(str,'dd-mon-yyyy'); -- note the correction to date mask from what you had below
RETURN true; -- conversion success
exception
when others then RETURN false; -- conversion failed
end;

In the Peoplesoft Implementation project we can create such function once and can be used in many SQL/Peoplecode/AE's. It is difficult to maintain this procedure in different instances like Dev,FIT,SIT,UAT,PPROD,PROD, but is it worth the effort.

Oracle SQL has Regular Expression support from 2003. Many people doesn't know about it and has not been used by many of the Peoplesoft developers and legacy SQR and Peoplecode.

These functions can simplify a lot of pattern matching work in the SQL and AE / SQR program.

REGEXP_LIKE Determine whether pattern matches
REGEXP_SUBSTR Determine what string matches the pattern
REGEXP_INSTR Determine where the match occurred in the string
REGEXP_REPLACE Search and replace a pattern

contains the details of using the regular expression iPublish Postn Oracle SQL.

http://www.oracle.com/technetwork/database/features/application-development/twp-regular-expressions-133133.pdf

Eg:-SELECT * FROM TABLENAME WHERE regexp_like (FIELDTOBECHECKED,'^[A-Za-z0-9]+$')

Can be used to select fields containing only alpha numeric character.

Pattern matching for Phone number , Postal code , Email id , National Identifier , Employee ID , Name , Addresss , Bank account number , credit card number , different identifier.

Friday, July 30, 2010

OIM Architecture

I've been working with OIM for the last two months and found to be a powerful tool among the identity and access management tools. Thought of exploring the architecture part a bit. Lets see how can I corelate it with the real time screens.




The presentation layer has an administrative console and Web console. Admin console helps to run several background tasks, while the web console helps to manage the users, mangage their user profiles, resource profiles etc.



User ID creation task can be an example of several tasks that can be run from the admin console. If you want to view the User profile of an employee, like viewinf the profile in PeopleSoft, then web admin interface helps to manage the same.



Because both the Administrative and User Console and the Design Console are highly dynamic, the Dynamic Presentation Logic tier guides the content displayed on these interfaces.The second tier implements the business logic that resides in Java Data Objects. These objects are managed by the supported J2EE application server (JBoss Application Server, BEA WebLogic Server, IBM WebSphere Application Server, and Oracle Application Server). The Java Data Objects implement the business logic of the Oracle Identity Manager application; however, they are not exposed to any methods from the outside world. To access the business functionality of Oracle Identity Manager, you can use the API layer in the J2EE infrastructure, which provides the lookup and communication mechanism.

The Business Logic tier is implemented as an Enterprise JavaBeans (EJB) application.The following are the components of the Business Logic tier.



Application Server

The application server on which Oracle Identity Manager runs provides life cycle management, security, deployment, and run-time services to the logical components that constitute Oracle Identity Manager. These services include:
Scalable management of resources
Transaction management
Security management
Client access

Technology resources

Consider a scenario of having a trusted source as HCM. When ever a new employee is created in HCM, the data should flow to IMS. It can be done using the IB messaging system. Write a code under the job data save postchange code (which is not highly recommended), or can create an application engine process which will publish the messages to OIM, at every now and then. The rest of the feature implementation depends on the clients requriement.



A requirement example for using IMS.



Say the client needs a central application to manage the access and identity across their company. IMS can be a one place administration point from where all the other resources like HCM, FSCM, EPM, ELM, portal and every other resources are controlled and maintained. The access provision, we know, in peoplesoft is all about managing the roles. Based on the client policies the role deletion and addition in all there mentioned resources can be done from IMS.



Being new to this tool, I have lot more areas to explore. Consider, this as an overview about the same.

Wednesday, July 7, 2010

HEUG Online: Shared HCM-CS Tables


Traditionally, Oracle has delivered Campus Solutions (CS) and Human Capital Management (HCM) with the ability to install both products in one single database instance.  This allowed for data to be easily shared between both products due to the fact that they both accessed the same tables to store Bio/Demo data, Locations, etc.  This approach was delivered by Oracle up until version 9.0 of both CS and HCM.

With the release of Human Capital Management 9.1, Oracle has made the decision to split Campus Solutions and HCM into two separate instances.  This means that organizations currently running CS/HCM9.0 in one instance will need to split their system into two separate instances when upgrading to CS 9.0 and HCM 9.1.  One of the major impacts of this split is that the two products no longer share the same database tables, and as such in order to share information they will need to be integrated in some fashion (i.e. messaging). 

Both Oracle and the HEUG have several resources which can be used to find information on how to integrate CS 9.0 and HCM 9.1.  However, Oracle does not have any documentation which lists the tables shared between CS and HCM.  This information will be very important for organizations to plan and budget their upgrades. 

The focus of this article is to list the components shared between CS and HCM version 9.0.  A follow-up document will contain a listing of the tables associated with each of these components.  The following components are shared between CS and HCM:

Search Match
·         HR Navigation: Workforce Administration > Personal Information > Biographical > Add a Person

·         CS Navigation: Campus Community Personal Information > Search/Match

Biographical Demographic Data (Bio Demo)
·         Add a Person
o        HR Navigation: Workforce Administration > Personal Information > Add a Person

o        CS Navigation: Campus Community > Personal Information > Add/Update a Person

·         Phone

o        HR Navigation: Workforce Administration > Personal Information > Add a Person

o        CS Navigation: Campus Community > Personal Information > Biographical > Address/Phone

·         Address

o        HR Navigation: Workforce Administration > Personal Information > Add a Person

o        CS Navigation: Campus Community > Personal Information > Biographical >   Addresses/Phones > Addresses

·         Email

o        HR Navigation: Workforce Administration > Personal Information > Add a Person

o        CS Navigation: Campus Community > Personal Information > Biographical >   Addresses/Phones > Electronic Addresses

·         Emergency Contact

o        HR Navigation: Workforce Administration > Personal Information > Personal Relationships > Emergency Contact

o        CS Navigation: Campus Community > Personal Information > Biographical > Emergency Contacts

Biographical Demographic Data Setup
·         EmplID
o        HR Navigation: Set Up HRMS > Install > Installation Table
o        CS Navigation: Not Applicable (But used for EmplID Counter)
·         Names Setup

o        HR Navigation: Set Up HRMS > Foundation Tables > Personal > Name Type

o        HR Navigation: Set Up HRMS > Foundation Tables > Personal > Name Prefix Table

o        HR Navigation: Set Up HRMS > Foundation Tables > Personal > Name Suffix

o        HR Navigation: Set Up HRMS > Foundation Tables > Personal > Name Title Table
o        CS Navigation: Not Applicable (But used throughout CS)
·         Address Type  Setup

o        HR Navigation: Set Up HRMS > Foundation Tables > Personal > Address Type

o        CS Navigation: Not Applicable (but used in many areas of CS – including Address Usage Table, Add Update Person, Address and Phone Numbers)

·         National ID Type

o        HR Navigation:  Set Up HRMS > Foundation Tables > Personal > National ID Type

o        CS Navigation: Not Applicable (but used when adding a Visa info in CS - Campus Community > Personal Information > Identification > Citizenship > Visa Permit Data)

·          Visa Setup

o        HR Navigation:  Set Up HRMS > Product Related > Workforce Administration >Visas/Permits

o        CS Navigation: Not Applicable (but used when adding a Visa info in CS - Campus Community > Personal Information > Identification > Citizenship > Visa Permit Data)

·         Citizenship Setup

o        HR Navigation: Set Up HRMS > Foundation Tables > Person > Citizen Status

o        CS Navigation: Not Applicable (but used when adding a Citizenship info in CS - Campus Community > Personal Information > Identification > Citizenship > Citizenship and Passport)

·         Drivers License Type Setup

o        HR Navigation: Set Up HRMS > Product Related > Workforce Administration > Driver's License Type

o        CS Navigation: Not Applicable (but used when adding a Driver's License in CS - Campus Community > Personal Information > Identification > Driver's License Data)

Currency
·         Currency Code
o        HR Navigation: Set Up HRMS > Foundation Tables > Currency and Market Rates > Currency Code
o        CS Navigation: Not Applicable (but used in CS – Specifically SF)

Holiday Schedule
·         Holiday Schedule
o        HR Navigation: Set Up HRMS > Foundation Tables > Organization > Holiday Schedule
o        CS Navigation: Not Applicable (but used in CS Schedules)

Organization Location
·         Location
o        HR Navigation: Set Up HRMS > Foundation Tables > Organization >              Location
o        CS Navigation: Not Applicable (but is used in Facility Setup - Set Up SACR > Foundation Tables > Facilities > Facility Table)
Student T4s
·         Company
o        HR Navigation: Set Up HRMS > Foundation Tables > Organization >              Company
o        CS Navigation: Not Applicable (but is used in T4 Setup in SF - Set Up SACR > Product Related > Student Financials > SF Business Unit)
·         Balance ID
o        HR Navigation:?
o        CS Navigation: Not Applicable (but is used in T4 Setup in SF - Set Up SACR > Product Related > Student Financials > SF Business Unit)
·         Wage Loss Plan
o        HR Navigation: Set Up HRMS > Product Related > Payroll for North America > Canadian Taxes > Wage Loss Plan Table
o        CS Navigation: Not Applicable (but is used in T4 Setup in SF - Set Up SACR > Product Related > Student Financials > SF Business Unit)
Relationships functionality (what is the table)
Financial Assistance
·         Student Work-Term
Student Refund
·         Refunds through Payroll
o        Business Unit for HRMS (Setup in HR)
o        Company (Setup in HR)
o        Pay Group (Setup in HR)
o        Department (Setup in HR)
o        Job Code (Setup in HR)

o        Position Number (Setup in HR)

For specific follow-up on this matter, please contact

Aaron Williams

Senior Consultant

Deloitte Inc.

aawilliams@deloitte.ca