Just a quick update: I added the File Layout Definition tables to the PeopleTools Tables page. Hope it helps.
I had used one of the tables on this post, but I never added the table to the reference page.
Just a quick update: I added the File Layout Definition tables to the PeopleTools Tables page. Hope it helps.
I had used one of the tables on this post, but I never added the table to the reference page.
Application Designer has an option to search through the text of the code, but it takes way too long to search the whole system on a regular basis. Thankfully, Application Designer also has a way to dump all of the code to a text file.
From Application Designer, choose Edit > Find In…
Next, enter a semicolon(;) for the search text and check the option “Save PeopleCode to File”
Important: This will take a long time and a lot of memory to finish. So, increase your virtual memory and let it run overnight. If you have a team of developers, have one person do the dump and put it on a network location where everyone can view it.
If you don’t enough memory, you may get an error message like this:
If so, go to the control panel and open the System icon. Go to the Advanced tab and click the Settings button under performance. Under the “Advanced” tab in the performance options dialog, change the virtual memory. The steps to increase the memory might be slightly different depending on your flavor of Windows.
Ok, I have seen this several places, but I have link it here too: A java program has been written that will read PeopleCode from a PeopleSoft database.
Here are the blogs where I have seen this
PeopleSoft/Oracle Tips (describes how to compile it)
PeopleSoft Pros (I think this is where I first saw it)
It looks like the program was created with information from PeopleCode Secrets.
I would love to create a project on SourceForge for this code. There are so many things that you could do with it. I would love to index the PeopleCode in the system to make searching and refactoring easier. Oh well, maybe one day.
In going through the registry, I found a reference to “PeopleSoft.ApplicationDesigner”. But, I cannot find any documention on how to use it.
I was able to create an object in WScript:
var obj = new ActiveXObject("PeopleSoft.ApplicationDesigner");
But, I cannot figure out what methods to use with the obj variable.
I posted a question on Oracle Mix, but no one has answered, yet. Jim Marion has pointed out Grey Sparling Solutions, but I haven’t found any information there. I really like some of the solutions they have created — they are very innovative.
Please let me know if you have any ideas on how to get more information.
I kept getting error messages like this:
ORA-01502: index 'SYSADM.PS_PSAESTMTDEFN' or partition of such index is in unusable state
I found the answer to the problem here:
ORA-01502 Oracle Index in Unusable State
As Katie mentioned in the comments, the status in 10g is UNUSABLE instead of INVALID.
Here is a quick script to rebuild all of the problem indexes:
declare begin for index_rec in (select owner, index_name from dba_INDEXES where status = 'UNUSABLE') loop execute immediate 'alter index ' || index_rec.owner || '.' || index_rec.index_name || ' rebuild'; end loop; end;
This may be pointless, but maybe some of the SQL may help someone. It is an attempt at boiling all the steps from another post into one SQL script. The rename at the end didn’t seem to work for some reason, and I didn’t want to put any more time into it.
declare tblName varchar(25); tempName varchar(25); segmentCount number(10); osOutput number(3); begin tblName := 'AAAPP'; dbms_output.put_line('Moving tablespace: ' || tblName); tempName := tblName || 'NEW'; dbms_output.put_line('Using temporary tablespace: ' || tempName); select count(*) into segmentCount from dba_segments where tablespace_name = tblName; dbms_output.put_line('Currently ' || segmentCount || ' segments'); execute immediate 'create tablespace ' || tempName || ' datafile ''e:\oradata\HCM90\' || tempName || '.DBF''' || ' size 10m ' || ' extent management local autoallocate ' || ' segment space management auto '; execute immediate 'ALTER DATABASE DATAFILE ''e:\oradata\HCM90\' || tempName || '.DBF'' AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED'; for index_rec in (select owner, segment_name from dba_segments where segment_type = 'TABLE' and tablespace_name = tblName) loop execute immediate 'alter table ' || index_rec.owner || '.' || index_rec.segment_name || ' move tablespace ' || tempName; end loop; for index_rec in (select owner, table_name, column_name from dba_lobs where tablespace_name = tblName) loop execute immediate 'alter table ' || index_rec.owner || '.' || index_rec.table_name || ' move lob(' || index_rec.column_name || ') store as (tablespace ' || tempName || ')'; end loop; select count(*) into segmentCount from dba_segments where tablespace_name = tblName; dbms_output.put_line('Now ' || segmentCount || ' segments'); execute immediate 'alter tablespace ' || tblName || ' offline'; execute immediate 'drop tablespace ' || tblName; execute immediate 'alter tablespace ' || tempName || ' rename to ' || tblName; dbms_output.put_line('Renaming ' || tempName || ' to ' || tblName); dbms_pipe.pack_message('cmd /c del e:\oradata\HCM90\' || tblName || '.DBF'); osOutput := dbms_pipe.send_message('HOST_PIPE'); dbms_output.put_line('Deleted e:\oradata\HCM90\' || tblName || '.DBF -- ' || osOutput); end;
There is a fix out to reduce the database size:
The only difference between the changes in the fix and what I had previously done, is the blocksize setting. As far as I could tell, it really didn’t make a sizeable impact. What did make a difference was changing the properties on the other tablespaces besides the index tablespace.
Below I have listed some SQL and such that I used to shrink the database and move segments from the tablespaces.
Here is just a quick post to let you know that I have added a few more tables to the PeopleTools Tables page:
These tables are related to HTML definitions. I was using them to check to make sure that I have all of the HTML definitions that I have created in my project.
Here is a link to the page:
Here is just a quick reminder about security being important and about being trustworthy with your privileges:
InfoWorld: Two charged with hacking PeopleSoft to fix grades
In looking through PeopleBooks, the portal API objects seemed a little sparse for examples. So, here is a quick example that might help others. The example opens a folder and prints some information about the folder.