Automating Releases in PeopleSoft using command line parameters White Paper By S.R.Raajesh raajesh.sr@tcs.com Abstract This paper critically examines the benefits that can be accomplished by using the command line parameters in PSFT. A simulation study is done with the help of Visual Basic. The drawbacks of using these parameters are highlighted alongwith some innovative approaches towards overcoming the drawbacks and achieving complete automation. Automating releases in PeopleSoft using command line parameters 1
Introduction PeopleSoft offers command line parameters through which moving project files across environments can be achieved with some degree of automation. The amount of manual work involved in the process of release management can be considerably mitigated by the use of these command line parameters. This paper discusses the various command line parameters that are available in PSFT and the means to arrive at automation with these parameters. A simple simulation study result is presented and the drawbacks of this approach are also clearly described. Finally some innovative ways of using these utilities in attaining automation are discussed. Command line parameters- Introduction The executable file that invokes the application designer in PSFT is PSIDE.EXE. The available parameter for PSIDE.EXE falls into two categories 1. Parameters providing login information 2. Parameters setting general options. The general syntax followed for invoking the application in command line is PSIDE [-parameter value [-parameter value...]] Each parameter starts with a hyphen (-) or a forward slash (/). The value for each parameter follows the hyphen or slash, separated by zero or more spaces. In general, the value doesn't need to have quotation marks around it, even if it has internal spaces the system treats all text following the parameter as part of the value, up to the next parameter or the end of the command line. Some of the important command line parameters are listed below. For more detailed information, refer to [1]. Table 1 : Command line Parameters Parameter Value Description -CT Database type Type of database to which the user is connecting. Valid values are ORACLE, INFORMIX etc -CS Server Name The name of the database server to which the Automating releases in PeopleSoft using command line parameters 2
connection is made to -CD Database Name The name of the database to which the connection is made -CO User ID Peoplesoft login Id -CP Password Password for the specified user id. As an example the following statement starts the application designer and signs into ABC database as a VP1 user. PSIDE -CT ORACLE -CS ABC -CD ABC -CO VP1 -CP VP1 As per the 8.46 documentation of PSFT, following processes can be accomplished by using command line parameters. Copy a project from the source database to a flat file. Copy a project from the source database to a target database. Build a project present in a database Run a compare and report across two databases. Run datamover scripts in command line The above processes cover everything with respect to moving projects across environments in PSFT. Arriving at an automation Now that we have the list of parameters and their entitled functions, the task is to use them judiciously to arrive at a perfect automation. In a development environment, the developers submit their deliverables to the release manager who then takes care of the movement of the files across the environments for system testing and delivery. For a very high number of projects involving movement alone, a simple software program can be written to poll the source area for new submissions and accordingly connects to the target database and makes an automated movement. Assuming that the developers enter the project details once they are done into the GUI the automated program will do the following Scan for new submissions as and when they happen. Automating releases in PeopleSoft using command line parameters 3
Trigger a command line program if there is a new entry and make the movement. A sample screen shot of the GUI used to achieve the movement is presented below. Copying to a flat file from a project was attempted. Screen shot of the generated log file is attached below The GUI is a memory resident one that does the basic movement across two databases by internally invoking the PSFT commands. The scope can be extended to support much more functionalities provided by PSFT. Not only for the project files, but also for migration SQLs and datamover scripts the same approach can be extended. If everything is perfectly placed, there is almost no need for a Automating releases in PeopleSoft using command line parameters 4
manual watch on movement of project files. It greatly simplifies the work of a release manager. Command line parameters- The other side The main advantage of using command line parameters is that we end up achieving some degree of automation. For each and every movement, a log file can also be generated which can be read back to report to the release manager in case of any issues. Hence, there are no alarms of objects getting missed out during the movement across environments. However, there is one shortcoming for this approach. If change control locking is enabled and if the objects are locked in the target database, then the movement will not be successful. In an ideal scenario, the probability for an object to be locked in an environment other than the development one is minimum. However, in reality it may so happen that some of the objects are locked up in the target. Though they can be traced back from the log files generated, there lies a manual intervention. Assuming that such an occurrence is rare, the automation is really beneficial. And an attempt is made to solve the above issue in the next section. Achieving perfect automation In this section, we will discuss a conceivable way to make a perfect movement even when change control locking is enabled. Change control locking in PSFT ensures that only one developer is in possession of an object at any point of time. It is controlled by two tables in PSFT i.e. pschgctlhist that stores the history of an object and pschgctllock which stores the lock related information on an object. Before making a movement to target database, insert all the rows present in the table pschgctllock to pschgctlhist and flush the pschgctllock table. This will update the history information and unlock the objects the way in which, unlocking the objects takes place through the application designer. The project file movement can then be made to the target database. Thus, even when change control locking is enabled and the objects are locked in the target database, we still end up moving the project file successfully. Conclusion Command line execution is the heart of the automation and it should be shielded enough by a perfect automation process, which manages the entire task of releasing projects across Automating releases in PeopleSoft using command line parameters 5
environments. It involves a careful engineering process which when done to perfection will end up providing fruitful results. References: PeopleSoft Peoplebooks- Application designer Automating releases in PeopleSoft using command line parameters 6