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.
- 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%';
- 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
- 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
Post a Comment