Tuesday, May 5, 2009
Working with the Portal Menu Structure via the database
Thursday, March 12, 2009
Find All Components that have a Page
Tuesday, September 23, 2008
Frustrating CI Issue PSBusComp error
Here is what I am doing:
Pulling the rows to insert directly from the DB
Connecting to a CI via JSL to the App server
Start the Loop to pump the data in
The first rows go in well
The the App server kills the run after 1 or two rows
Session is reset
I have interactive mode off, get and edit history are also off.
It seems to be specific to this component, or component type (the size?). Our Admins tell me it is a segmentation falt and the process is killed by the OS. Thanks Mr. OS! :)
There doesn't seem to be any Cobol or really intensive people code. Technically this shouldn't matter as interactive mode is turned off and I don't get to the point of saving, so it should be triggered.
I don't know if it matters, but I am going to check to see if 'Expert Entry' is enabled on the user that is connecting to the app server.
More to come....
Thursday, September 18, 2008
PeopleSoft: Stop Save of a page from PeopleCode
For some reason I had an issue figuring out how to stop the saving of a page… Then I was doing something completely unrelated and said, “DUH!!!”
To stop a save during validation in PeopleCode throw an error… Use only in the SaveEdit event. Don’t use it in FieldDefault, FieldFormula, RowInit, FieldChange, Prepopup, RowInsert, SavePreChange, or SavePostChange
Error “Some String”;
You can use the MsgGet, MsgGetText functions too, if you add your own entries to the catalog.
PeopleCode: Change Options in a Drop down List
In PeopleSoft it is “easy” to change the drop down list options on Row-init …
This is from a co-worker. Used to change the options that students see for attendance (for specific class type)
If …… Then
/* Clear the current dropdown
values */
CLASS_ATTENDNCE.ATTEND_REASON.ClearDropDownList();
CLASS_ATTENDNCE.ATTEND_REASON.AddDropDownItem("ALCT", "Allowed
Cut"); CLASS_ATTENDNCE.ATTEND_REASON.AddDropDownItem("CANC",
"Cancelled"); CLASS_ATTENDNCE.ATTEND_REASON.AddDropDownItem("OTHR",
"Absent Other");
CLASS_ATTENDNCE.ATTEND_REASON.AddDropDownItem("PRES", "Present");
CLASS_ATTENDNCE.ATTEND_REASON.AddDropDownItem("SECT", "Second Cut");
CLASS_ATTENDNCE.ATTEND_REASON.AddDropDownItem("SICK", "Sick");End-If;
Tuesday, September 16, 2008
Clean Up PeopleSoft Registry entries from CIs
re-build then and re-register them etc etc... but the problem is that when I
have to update the client end, and re-register the tlb methods, I don't have a
'Clean-Up Entries' check box.
So.... To clean the registry from the last registered TLB, take the .reg file which starts:
Get your favorite text editor that has Regular expression capabilities (I use Crimson Editor, just casue it is free and does a lot of neat things).
[HKEY_CLASSES_ROOT\TypeLib\{D991A0F6-EFDC-480E-A3B7-DED9BB542536}\PeopleSoftGeneratedKey]
@="Sun Aug 31 23:45:09
2008"[HKEY_CLASSES_ROOT\TypeLib\{D991A0F6-EFDC-480E-A3B7-DED9BB542536}\1.0]
@="PeopleSoft_PeopleSoft"[HKEY_CLASSES_ROOT\TypeLib\{D991A0F6-EFDC-480E-A3B7-DED9BB542536}\1.0\0\win32]
@="c:\\ps\\8.49\\bin\\client\\winx86\\PeopleSoft_PeopleSoft.tlb"
Find: @.*
Replace with nothing
Find: \*\*.*
Replace with nothing
Turn off Regular Expression
Find: [
Replace with: [-
Copy and Paste the whole .Reg file to excel, and sort the column A-Z, to make the longest (deeper branches first) entries go to the top of each group, copy and paste it back to the reg file. Save it to a new name so you have your orignial, and then run it... the [-Branch Name] removes each entry.
Monday, September 15, 2008
CIs: Connecting to PeopleSoft Jolt sever from VB.net. Why & How. Part 4
Sunday, September 14, 2008
CIs: Connecting to PeopleSoft Jolt sever from VB.net. Why & How. Part 3
[If you are looking to Load 100k+ rows into PeopleSoft quickly, this isn't the post for you! This is a multi post piece on Component Interfaces. Hopefully it is informative reading...]
Part 3
Saturday, September 13, 2008
CIs: Connecting to PeopleSoft Jolt sever from VB.net. Why & How. Part 2
Part 2
If these already exist, obviously just add missing parts...
CLASSPATH=C:\PS\8.49\web\psjoa\psjoa.jarPATH=C:\PS\8.49;C:\PS\8.49\jre\bin\client
C:\PS\8.49 is where my PeopleTools is located.
As for what is needed for a peopleTools CI only environmnet, you don't need to whole thing. Here are the files that are needed:Everything under .\jre and \webIn .\bin\client\winx86:
dbghelp.dll msvcp71.dll msvcr71.dll psapiadapter.dll psbtunicode.dll pscmnutils.dll pscompat.dll pslibeay32.dll pspetssl.dll trio.dll zlib1.dll
PeopleSoft_PeopleSoft.reg & PeopleSoft_PeopleSoft.tlb are what you get when you build the PeopleSoft APIs from appdesigner.
In order to get familiar with the code, I'd like to suggest that you take a look at the demo code that you can generate by right clicking on your CI from app designer and selecting the generate visual basic template. This is in VB6-or-less layout in a .bas file.
Checking a Peron's Roles within PeopleCode
For manually securing object or doing some kind of filtering, it is regularly useful to know what roles a person has in their user profile. Peoplesoft provides a global variable to give you access to the person’s roles.
Example:
Local array of string &Roles;
Local integer &I;
&Roles = %Roles;
&doTransfer = True;
For &I = &Roles.Len To 1 Step - 1
If &Roles [&I] = "My Special Role" Then
&doTransfer = False;
End-If;
End-For;
Friday, September 12, 2008
CIs: Connecting to PeopleSoft Jolt sever from VB.net. Why & How. Part 1
Friday, August 1, 2008
Setting Up Row Level Security (For Depts.)
- Select a user that need access
- Goto the user profile and note the permission list that the user has for Row level Security.
- Note: whom ever else has the same permission list in this field will have the same row level security. Change this as appropriate.
- Goto Setup HRMS > Security > Core Row Level Security > Security by Dept Tree
- Add New Value
- Add the permission list from #1
- Goto Setup HRMS > Security > Core Row Level Security > Refresh SJT_CLASS_ALL
- Add run control
- Select refresh all
- Run process
- Repeat 5-7 for Setup HRMS > Security > Core Row Level Security > Refresh SJT_OPR_CLS
- Goto Setup HRMS > Security > Core Row Level Security > Security Data Inquiry
- Goto Page #3; User Security Data
- Put in the person's UserID and check the last item on the list, does it have the DEPT you need?
- If not, fix it... :) if yes.. Yay!! good Job!
Tuesday, September 11, 2007
App Designer Basic Considerations
There are a lot of objects that can be in a project that aren't listed ing the "Development" Tab. The reason for this is that you can move objects with App Designer that you can't edit with app designer. They are made part of the project, but aren't editable. These objects sit on the "Upgrade" tab.
A prime example is content References and folders.
These are great to have in the project so that when you move it around you don't have to keep re-registering components, but can be bad if the parent folders aren’t there in the target environment etc etc…
Things to watch for:
Menus
Content References
Permission Lists
Folders
PeopleCode not pertinent to your project (it by definition shouldn’t be in your project!)
Closing:
Always check the "Upgrade" Tab on the project explorer to make sure you're not moving stuff that doesn’t need to be moved.