Home
Name Modified Size InfoDownloads / Week
README.txt 2019-04-23 5.3 kB
WhatsNew.txt 2019-04-23 3.5 kB
DecodePCODE-0.71-binary.zip 2019-04-23 436.5 kB
DecodePCODE-0.61-binary.zip 2015-09-26 968.6 kB
Totals: 4 Items   1.4 MB 2
DecodePCODE v0.71


The current version contains a few scripts, to be used from a 
command line, to extract PeopleCode and SQL text from either 
a PeopleTools project file or directly from PeopleTools 
tables (using direct, read-only database access). 

If a PTools project file is read, .pcode files are produced exactly 
as they appear in Application Designer. 

If you have ptools >= 8.52, the PeopleCode is read from table PSPCMTXT.

Otherwise, the bytecode in the PSPCMPROG table is decoded; while this 
works quite well, the .pcode files it produces are not always formatted 
precisely as in AppDesigner. 

The produced files can either be saved to the local file system, or 
submitted to a version control system (currently, Subversion 
(SVN) and Git are supported). 

The app can also process several environments (e.g. DEV and TEST) 
in one go, saving each environment's version of a PeopleCode object 
to a separate directory or to a separate SVN/Git folder. Alternatively,
using the 'ancestor' directive, the tool can save the various versions 
of newly added objects (e.g. DEMO, PROD, DEV) to the same branch, 
so that the objects' history shows the customizations.

 


DecodePCODE.bat:

Connects to a database, reads PeopleCode bytecode and SQL definitions 
from the PeopleTools tables, and writes the decoded PeopleCode and 
the SQL text to the file system (below a top directory that you 
specify in the .properties file)


Usage: e.g.

DecodePCODE.bat PPLTLS88CUR
(Connects to the database and uses this project definition to determine 
what PeopleCode segments and SQL definitions to extract)

DecodePCODE.bat custom
(all PeopleCode/SQL with LASTUPDOPRID <> 'PPLSOFT')

DecodePCODE.bat since 2011/01/01
(LASTUPDDTTM on or after the specified day)

DecodePCODE.bat since-days 7
(same, but relative to current date)

DecodePCODE.bat since-last-time
(this reads a file 'last-time.txt' , which is created by this program 
whenever it runs with one of the 'since' parameters. You may want 
to use this command in a recurrent job)

DecodePCODE.bat since-last-time custom
(same, but only code with LASTUPDOPRID <> 'PPLSOFT'. Note that while 
this will keep your repository free of delivered code, it means you 
won't be able to tell if a bundle has wiped out a customization)


DecodePCODE.bat since 2012/01/01 oprid JOHNNY
(parameter 'OPRID' can be combined with 'custom' or any of the 'since' 
parameters; it adds a 'LASTUPDOPRID = ...' clause to the selects)

DecodePCODE.bat PPLTLS88CUR.xml
(Reads a PeopleTools project file, and extracts all PeopleCode segments 
it contains, as well as the SQL definitions)



DecodePCODE_SVN.bat

This script accepts the same parameters as DecodePCODE.bat, but instead 
of writing the extracted text to files, it submits it to a 
Subversion (SVN) version control system. Connection parameters for 
SVN should be entered in DecodePC.properties. You can specify more 
than one SVN user in the properties; the program will try to map 
each PeopleSoft user (LASTUPDOPRID) to an SVN user.


DecodePCODE_Git.bat

To submit the extracted text to a local Git repository (which will be 
created if it does not already exist).


Installation:

Extract the .zip file, and ensure a suitable JDBC library is 
available in the working directory: sqljdbc4.jar for MS SQL 
Server, ojdbc6.jar for Oracle (retrieve from the vendor 
sites; the Oracle driver may also be found in jdbc/lib under 
the Oracle home). Other database types should work as well 
(adjust the url and driverclass entries, and specify the .jar 
file in the scripts).

If you want to commit files to Subversion, you need svnkit.jar 
(from svnkit.com; this program has been tested with the 
version included in org.tmatesoft.svn_1.3.5.standalone.zip). 

If you want to commit files to a Git repository, you will need 
jgit.jar (from http://www.eclipse.org/jgit/download, pick the 
'Raw API library' and rename the file).

See 'Setting up version tracking.pdf' for more details on using 
Subversion or Git with this application.

Specify the connection parameters in DecodePC.properties. For 
Oracle, you can use tnsping to determine server 
and port number.

For all three .bat files, you may have to specify the path for java 
(JRE 1.5+ required). You may be able to use $PS_HOME/jre/bin/java.
Ensure that the classpath parameters (the .jar files) exist.

Note that the batch files need to be started from the base directory
(with the subdirectory 'bin').

Installation on Unix: same, but use the .sh scripts instead of 
the batch files. You will have to do something like 
	chmod 700 *.sh
first. In Unix, the entries in the classpath are separated by :, not ; .



Miscellaneous:

Minimum persissions for the SQL user that you specify in 
the .properties file:

select rights on PSPCMPROG PSPCMNAME PSSQLDEFN PSSQLTEXTDEFN 
PSPROJECTITEM PSPACKAGEDEFN and (ptools >= 8.52) PSPCMTXT; 
no insert/delete/alter permissions required.

To retrieve or browse the source code, please use the 
Code link on the SourceForge project 
(https://sourceforge.net/projects/decodepcode).

If you run into a bug, please submit a bug report via the Tracker 
feature on the SourceForge pages.


Enjoy.

Source: README.txt, updated 2019-04-23