Uploading Customizations into PeopleSoft PUM

PeopleSoft Change assistant 8.55+ gives us the ability to upload customizations in to the PUM appliance. This allows us to generate reports to let us know which customizations will be affected by any bug fixes. One issue I have come across is that Oracle expects you to load all of your customizations into a single project (for example UPGCUST), export to file and then upload. What if you want to collect all of your customizations each within their own project and then upload them individually? Well, here's my trick... To upload the customizations first we need to export them from an existing copy of production.
  1. Get a list of all of the project names for your customizations. Typically your customizations project names should all share a common prefix, This SQL script will generate a list of all customizations and update the project flags if they are set incorrectly. --dump list of project names that use your customizations prefix select projectname from psprojectdefn where projectname like 'MYCUST%'; --update project flags based on the same list UPDATE PSPROJECTITEM SET COPYDONE = 0, TAKEACTION = 1 WHERE PROJECTNAME IN (select projectname from psprojectdefn where projectname like 'MYCUST%';
  2. Take the export list and combine it with the script below to export all projects to file with Application Designer. REM script stolen and modified from link below REM http://peoplesofttipster.com/2008/11/17/quickly-export-multiple-projects/ set pside=C:\apps\psoft\PT854\bin\client\winx86\pside.exe set export_path=C:\temp\exports\ set dbtype=ORACLE set user=oprid set pwd=password set srcdb=database FOR /F %%a IN (project_list.txt) DO %pside% -HIDE -PJTF %%a -FP %export_path% -CT %dbtype% -CO %user% -CP %pwd% -CD %srcdb% -QUIET -AF 0 -DDL 1 -PPL 0 -CFD 0 -CFF 0 -LF %export_path%%%a.log pause
  3. Finally you can import the customizations using Change Assistant. a)Open Change assistant  b)Select Tools-> Upload Customer Data to Image  c)Click Add Project for each project you have (yes you have to do it one at a time). Alternatively there is a vbscript at the bottom of this page that will automate the clicks for you.  d)Set the Project Content column to 'Customization Impact - All' unfortunately I can’t seem to change this setting without using a mouse. If you can figure this out we can also automate the click with vbs
VBScript for keystrokes in change assistant
' VBScript to send keyboard strokes to change assistant for loading custom project_list ' --------------------------------------------------------' 'VARIABLES TO SET strProjectlistFilename = "C:\temp\ProjectsForPUM\project_list.txt" strProjectRootFolder = "C:\temp\ProjectsForPUM\" Dim tmp tmp = InputBox("Warning, this script is not perfect but typically works. You can kill it with the command in the text box below. Please copy it to your clipboard and save it to .bat file. BE SURE YOU HAVE SET THE VARIABLE PATHS IN THE TOP OF THE SCRIPT. Then, Click OK to continue",,"taskkill /im wscript.exe /f") set objShell = CreateObject("WScript.Shell") set WshShell = WScript.CreateObject("WScript.Shell") WScript.Echo("Start PeopleSoft Change Assistant and open the 'Tools->Upload Customer Data to Image Window'") Do Until Success = True Success = objShell.AppActivate("Upload Customer Data to Image") Loop WScript.Echo("Window Found, Click OK to continue") Wscript.Sleep 500 objShell.SendKeys "{TAB}", True Wscript.Sleep 500 objShell.SendKeys "{TAB}", True Wscript.Sleep 500 objShell.SendKeys "{TAB}", True Wscript.Sleep 500 objShell.SendKeys "{TAB}", True Wscript.Sleep 500 'Adding projects Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(strProjectlistFilename) Do Until f.AtEndOfStream objShell.SendKeys " ", True Wscript.Sleep 500 'Send the Alt commands twice (sometimes they fail to send) objShell.SendKeys "%{n}", True Wscript.Sleep 100 objShell.SendKeys "%{n}", True Wscript.Sleep 500 objShell.SendKeys "^{a}", True Wscript.Sleep 100 objShell.SendKeys "^{a}", True Wscript.Sleep 500 objShell.SendKeys "{BACKSPACE}", True Wscript.Sleep 500 wshshell.sendkeys strProjectRootFolder wshshell.sendkeys f.ReadLine Wscript.Sleep 500 objShell.SendKeys "%{o}" Wscript.Sleep 1000 Loop f.Close WScript.Echo("The loading of the project list is done, however you still need to set the project content column to 'Customization Impact - All' ")

Comments

Popular posts from this blog

Active Directory Authentication with an Oracle Database

Create a custom backup report with BI Publisher for Oracle Enterprise Manager/Cloud Control 13c

Oracle Enterprise Manager notify when Recovery Area low