Explorations in Component Interface: Handling Component Interface Errors

This is a continuation of the following posts:

The plan this time is to try to see how well we can handle errors.  I have been having trouble with some of my production programs crashing when I have taken all the necessary steps to trap and handle the error.  So, we’ll see how this goes …

Read More

Component Interfaces Explorations: Security

This is part two of the explorations in component interfaces.  Before we can do anything with the Component Interface that we created in part one, we have to make sure that we have security to it.  Maybe at some point we can explore what happens when we don’t have security, but for now let’s fix it before it breaks.

So, if you haven’t already created the component interface, head over to part one first, and build the CI.  Then, you can setup the security.

The first thing you must know is which permission list you need to attach to.  Normally, your security would decide this.  You could create one permission list for all of the component interfaces in the system and grant that to everyone — I mean, the user can’t use the component interface unless they have access to the process or page that uses it.  Or, you could attach the component interface to the same permission list that gives the user access to the corresponding page or process.

In this case, we are just going to pick any one of the permission lists we have access to.  This is an experiment anyway, not a production thing.

First, open the User Profile for the Operator ID you use to connect — PeopleTools > Security > User Profiles > User Profiles.  Go to the Roles tab, and pick any one of the Roles.  I am picking the PeopleSoft User role:

Selection_810

Clicking the View Definition link will take you to the Role.  Then, click on the Permission Lists page and choose one of the permission lists in the list.  In my case, there is only one, so I clicked the View Definition on that one:

Selection_811

Now, that you are on the Permission List, you need to go to the Component Interfaces tab/page.  Then, add the component interface name that you created in part one.

Selection_812

If you save at this point, you haven’t done anything.  PeopleTools will remove it from the permission list because you haven’t given it any access yet.  Make sure that you click the Edit link and click the Full Access button:

Selection_813

Finally, make sure that you click Ok and Save to save the component interface.  You may want to re-open that permission list, and make sure that it saved the change.

Now you have security.  Stay tuned for writing some code to make it work…

Y2K10 PeopleSoft Style

I was surprised to find today that many of the PeopleTools items on the menu were missing.  Then, someone pointed me to article 1183084.1 on Oracle Support.

The problem is that many of the content references have a Expiration Date or Valid To date of 12/31/2010.  If you have some patience, you can go though Portal Structure and Content and update each one.  But, PeopleSoft has an Application Engine program attached to the article that will automatically do it.

Running the program is pretty straight forward.  The only thing I had to do was adjust the last updated field.  The program only updates content references that were last updated by PPLSOFT, but most of my content references were marked with PS.  You could either update the PSPRSMDEFN table manually in the database, but I changed all of the references for ” = ‘PPLSOFT'” to ” IN (‘PPLSOFT’, ‘PS’)”.

Explorations in Component Interface

This is part one of a multi-part series exploring some quirks in using Component Interfaces with Application Engine programs.  If nothing else, hopefully, these will give new developers some insight into how to use a Component Interface.  My goal is to expose a bug in the Application Engine tool that maybe Oracle will see and fix.

This first part will simply walk you through creating a Component Interface.  This part is just a map to associate the fields on the screen (or really in the component’s buffer) with an API property that can be accessed with code.

First, we create a new definition in Application Designer.  You can either use the Ctrl + N keyboard shortcut or the File > New menu.  Choose Component Interface from the list:

New Object List in App Designer

Next, have no fear — you will see the open dialog making it look like you want to open a component.  Really, Application Designer is just asking you which component you want to map.  In this example, we will use the “PERSONAL_DATA” component, which is the Modify a Person screen (Workforce Administration > Personal Information > Modify a Person):

Pick the Component

Next, Application Designer asks you if you want to default the properties.  I almost always say yes to this questions because it will make Application Designer do all the work for you in generating the map.  The properties will be given names based on their field names in the buffer:

Yes to Default the Properties

Now, you should have a new component interface generated for you.  Notice that the left side is the Component Structure.  It is the same as the Structure tab on the Component itself.  The right side is the map of record/field to property name.  In this screenshot, I have the component open in the background and I drew a line to show how the structure is the same.  Then, I drew a line from the structure to the property generated for one of the fields:

How the fields map to properties

Finally, save the component interface.  You can either use the Ctrl + S keyboard shortcut, or you can use the File > Save menu.  I gave it the name BLG_PERS_DTA_CI.

Save Dialog

While your at it, you may also want to add it to the project.  You can use the F7 keyboard shortcut or the Insert > Current Definition Into Project menu.

This concludes creating the Component Interface.  Please stay tuned for the next steps …

2010 in review

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Wow.

Crunchy numbers

Featured image

A helper monkey made this abstract painting, inspired by your stats.

About 3 million people visit the Taj Mahal every year. This blog was viewed about 55,000 times in 2010. If it were the Taj Mahal, it would take about 7 days for that many people to see it.

In 2010, there were 26 new posts, growing the total archive of this blog to 158 posts.

The busiest day of the year was September 22nd with 375 views. The most popular post that day was Step By Step.

Where did they come from?

The top referring sites in 2010 were peoplesoft.wikidot.com, jjmpsj.blogspot.com, psinstall.blogspot.com, google.com, and google.co.in.

Some visitors came searching, mostly for ora-01502, peopletools tables, windows file lock viewer, yum samba, and peoplesoft installation step by step.

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

Step By Step September 2008
11 comments

2

PeopleTools Tables September 2007
29 comments

3

ORA-01502: Indexes in unusable state February 2008
6 comments

4

Server Administration Tip: Logging Into the Weblogic Console March 2007
1 comment

5

Step by Step: Yum + Samba December 2008

Project Shaphan Updated

I just finished releasing a new version of my Project Shaphan to the Google Code site.  My goal with the project is to create a database query tool.  Oracle has SQL Developer which is a great, but it is geared more for database development.  Most PeopleSoft database users will never see a line of plsql or a single stored procedure.  What we need is a tool that understands PeopleSoft databases more and offers tools for querying it.

New Feature: Navigation Search

It isn’t very pretty, but here is a tool where you can enter a Component Name, and the tool will display all of the navigations for that component:

Meta SQL

I only have %CurrentDateIn working right now, but I plan to get more:

Getting Your Copy

To try it out, you can download the Jar file from the right side of the main page.  Make sure you have Java 6 installed.  Then, place the Jar file in a directory by itself, and double click on it.

Thoughts on Developer Focus

I just read this article from InfoWorld:

Google: Oracle lacks developer focus

The article kind of struck a chord with me.  I have long thought that PeopleSoft is sold to the executives and not to the developers.  Don’t get me wrong.  I think PeopleSoft is a great product, but it lacks a few developer features that I would like to see.  And, I would guess that the executives that make the decisions for purchasing aren’t going to pay for features like that.

The features I am talking about are things like code completion, refactoring, and indexing the code for searching.  Eclipse has many of those features with Java code.  Why can’t Application Designer do those things?  Is it because those features aren’t marketable to the executive?

The article makes the point that the product should be focused on the customer.  While I agree, I think placing some focus on the developer would provide some value to the customer.  Adding those features gives the software the ability adjust to changing business demands.  When users request a customization in PeopleSoft, what questions are asked?  How long with it take to develop versus how much benefit will it provide?  How maintainable is it going forward?

How many change requests are denied because the change would cost too much to develop or maintain?  Doesn’t the customer benefit by some level of developer focus?

So, while I think the customer should get focus, I don’t think the developer should be forgotten.  I would like Oracle to give the developer a little more focus in the PeopleSoft world.  But, hey, I am a little biased.