#78 – Cloud Manager and Certifications w/ Mark Hoernemann

This week Mark Hoernemann joins us to talk about platform certifications with PeopleTools. Mark explains how the PeopleTools team determines what platforms to support and how the support policies work. Then Mark gives us more details on the PeopleSoft Cloud Manager.

Show Notes

  • Bringing App Engine to an SQR Discussion @ :45
  • Overriding Facter Facts @ 5:00
  • COBOL DPK and Unicode @ 7:45
  • Mark Hoernemann Interview @ 9:30
    • Deciding what platforms to support @ 11:45
    • SQL Server 2016 certification @ 15:30
    • Why platforms are dropped from support @ 18:00
    • Supporting frequent browser releases @ 20:00
    • 8.56 certification changes @ 24:00
    • Cloud Manager @ 24:45
    • Self Service Environment Administration @ 28:30
    • Getting Started with Cloud Manager @ 29:45
    • Building environments with Cloud Manager @ 37:00
    • Applying PeopleTools patches when provisioning environments @ 40:15
    • New PeopleTools features between releases @ 43:30

#74 – Killing COBOL

This week on the podcast, Kyle and Dan talk about planning PeopleTools and Catch-up projects, BI Publisher security, and how to turn off excessive BI Publisher logging. We also talk about slowly killing COBOL with PeopleSoft (it’s not dead yet) and using multiple Change Assistant installations.

Show Notes

#60 – PeopleSoft Test Framework 101

This week on the podcast, Dan tries a different Remote Desktop tool, using RSS feeds to monitor PeopleSoft data and comparing SQL Explain Plans with SQL Developer. Then Kyle gives a great overview of the PeopleSoft Test Framework and what you need to know before using it.

Show Notes

#45 – Go-Live Weekends

This week Dan talks about his 8.55 Go-Live weekend, simplifying patch download with getMOSPatch, and using Kyle’s Maintenance Backdoor. Then Kyle and Dan discuss strategies and tips to make Go-Live weekends successful.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

#34 – psadmin-plus

This week Kyle and Dan discuss the Diagnostic Plugin Framework, sourcing environment variables for PeopleTools, Kyle’s great new psadmin-plus project. Also, we find out who it a c:\temp person and who is a Desktop person.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

PS_APP_PATCH_HOME and Custom COBOL Compile

The delivered COBOL compile scripts support compiling each HOME individually, but we can’t combine homes into a single CBLBINA folder. Additionally, with PeopleTools 8.55 dropping support for PS_CUST_APP_HOME, we are using a custom PS_APP_PATCH_HOME folder in the layer between PS_CUST_HOME and PS_APP_HOME.

To learn about PS_APP_PATCH_HOME, check out this video overview of the custom home we built for patching.

 

CBLBINA Directories Before

Before the change, we compiled each decoupled home separately we had 3 CBLBINA directories.

+-------------+  +-------------+  +--------------+
|             |  |             |  |              |
|   PS_HOME   |  | PS_APP_HOME |  | PS_CUST_HOME |
|             |  |             |  |              |
+-------------+  +-------------+  +--------------+

CBLBINA Directories After

After the change, we have 2 CBLBINA directories. One for the PeopleTools COBOL programs, and one for the application programs. The application COBOL programs are stored in our PS_CUST_HOME\CBLBINA folder.

+-------------+  +-------------------+
|             |  | PS_APP_HOME       |
|   PS_HOME   |  | PS_APP_PATCH_HOME |
|             |  | PS_CUST_HOME      |
+-------------+  +-------------------+

Modified Build Script

We use a batch helper script to configure the environment and call our new cblbld_all.bat script. The script CompileHR92DEVCobols_APP_PATCH_CUST.bat script will configure the environment variables for HR92DEV. Then it calls cblbld_all.bat e: \psoft\temp\compile ASCII to compile the COBOL source files.

This command cblbld_all.bat e: \psoft\temp\compile ASCII will trigger:

  1. File copy from PS_APP_HOME\src\cbl\base
  2. File copy from PS_APP_PATCH_HOME\src\cbl\base
  3. File copy from PS_CUST_HOME\src\cbl\base
  4. Compile the combined source files
  5. Copy compiled COBOLs to PS_CUST_HOME\CBLBINA

The delivered cblbld_mf.bat file was copied to e:\psoft\tools and renamed to cblbld_all.bat. The script was modified to support the changes above. We also merged in code from the cblsrc.bat script that copied the source files. The cblbld_all.bat script does all the steps for our compilation process.

This is the high-level code for the script. The actual script is longer, contains extra code from the delivered script, like folder/permissions checks, and has Oracle’s copyright. So here are the changes we made to cblbld_mf.bat.

rem ------------------------------------------------
set COMPILEDRIVE=%1
set COMPILEDIR=%2
set CBLSRCDR=%PS_HOME%\SRC\CBL
set CBLBINDR=%PS_CUST_HOME%\CBLBINA
set PS_purge_CBLBLDLOG = Y
set CBLBLDLOG=%COMPILEDRIVE%%COMPILEDIR%\CBLBLD.LOG

rem ------------------------------------------------
rem Delete the contents of the compile directory.
if defined PS_purge_CBLBLDLOG (
    echo Y | del %COMPILEDRIVE%%COMPILEDIR% > NUL
)

rem ------------------------------------------------
rem Copy Source Files
call %PS_HOME%\SETUP\CBLRTCPY %CBLBINDR% >> %CBLBLDLOG% 2>&1
copy %PS_HOME%\src\cbl\base\PTC*.cbl %COMPILEDRIVE%%COMPILEDIR%
copy %PS_HOME%\src\cbl\win32\* %COMPILEDRIVE%%COMPILEDIR%
copy %PS_APP_HOME%\src\cbl\base\*.cfg %COMPILEDRIVE%%COMPILEDIR%
copy %PS_APP_HOME%\src\cbl\base\*.cbl %COMPILEDRIVE%%COMPILEDIR%
copy %PS_APP_PATCH_HOME%\src\cbl\base\*.cfg %COMPILEDRIVE%%COMPILEDIR%
copy %PS_APP_PATCH_HOME%\src\cbl\base\*.cbl %COMPILEDRIVE%%COMPILEDIR%
copy %PS_CUST_HOME%\src\cbl\base\*.cfg %COMPILEDRIVE%%COMPILEDIR%
copy %PS_CUST_HOME%\src\cbl\base\*.cbl %COMPILEDRIVE%%COMPILEDIR%

rem ------------------------------------------------
rem Compile COBOL Programs
call CBLMAKE ALL >> %CBLBLDLOG%  2>&1

rem ------------------------------------------------
rem Deploy
IF EXIST %CBLBINDR%\*.EXE echo Y | del %CBLBINDR%\*.EXE
IF EXIST %CBLBINDR%\*.GNT echo Y | del %CBLBINDR%\*.GNT
IF EXIST %CBLBINDR%\*.INT echo Y | del %CBLBINDR%\*.INT

call %PS_HOME%\SETUP\CBLBIN %COMPILEDRIVE%%COMPILEDIR% %CBLBINDR% >> %CBLBLDLOG%

#17 – PI’s and DPK’s (Part 2)

Kyle and Dan continue the discussion of DPK-based PeopleSoft Images. Dan shares a few frustrations with the new PI’s, we both learn a new way to generate trace files, and brainstorm how to manage the DPK’s YAML files.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

#9 – Tools and Documentation Part 1

This week on The PeopleSoft Administrator Podcast we talk about documentation, how we like to document, what has worked for us and some of our documentation pet peeves. We also share all of our favorite tools that make the PS Admin job easier. This topic was so much fun, we had to make it a 2 part episode. Enjoy Part 1 this week. We’ll release Part 2 next week.

We want to make this podcast part of the community discussion on PeopleSoft administration. If you have comments, feedback, or topics you’d like us to talk about, we want to hear from you! You can email us at podcast@psadmin.io, tweet us at @psa_io, or use the Twitter hashtag #psadminpodcast.

You can listen to the podcast here on psadmin.io or subscribe with your favorite podcast player using the URL below, or subscribe in iTunes.

Podcast RSS Feed

Show Notes

All About COBOL

Time for everyone’s favorite language: COBOL! Well, it’s not my favorite, and probably not your favorite, but it is important to PeopleSoft. Many core programs in HR use COBOL and will most likely stay COBOL for a while. Those COBOL programs are stable, fast, and once you compile you rarely have to touch them. Because COBOL is important to PeopleSoft, let’s talk about setting up the compiler, runtime, and learn how to compile COBOL programs.

Installation and Configuration

Compiler

PeopleSoft delivers COBOL source files with some of the applications, but you need to install the COBOL compiler separately. Oracle will give you a license to MicroFocus, so you don’t need to buy your own. Oracle Support has a nice article on downloading MicroFocus and acquiring a license. As a PeopleSoft customer, a MicroFocus license is included with the product to compile COBOL programs. Keep in mind, you can only use the compiler for PeopleSoft programs!

Runtime

After you install the compiler, you will need to install the Runtime License on any server were your compiled COBOL will run: process schedulers and application servers. To install the runtime, open a command prompt and navigate to the folder that contains

setupMF.exe. Run these commands:

  1. setupMF.exe e:\psoft\psft-mf—nx-as-license to install the license folder
  2. e:\psoft\pt-85x.xx (your path to PS_HOME)
  3. MFLMWin.exe -i to install the License Manager service.
  4. For Windows, you may need to change the security for MFLMWin.exe. Right-click on that file, select the Compatibility tab, and check the box for “Run this program as an administrator”
  5. In the Services panel, verify the “MicroFocus License Manager” service has started and set to start Automatically

Database

Clients Are you on PeopleTools 8.53 or lower? You’ll still need a 32-bit client for COBOL. That means installing the 32-bit client on your process scheduler and app server (for the remote call COBOL programs).

Domain Configuration

If you need the 32-bit client on your process schedulers and app server, you’ll need to make sure the domains know where to find them. The simplest solution is to add the 32- bit client to the PATH in the

psappsrv.cfg and psprcs.cfg files. I added the client path the beginning of the PATH variable. For the psappsrv.cfg and psprcs.cfg files, change this setting to your 32-bit client path:

Add to PATH=e:\oracle\product\12.1.0\client_32;[existing entries]

Compiling

COBOL PeopleSoft delivers scripts to simplify the compilation process. The scripts know about the decoupled homes and can compile all homes, or just your customizations. Under the PS_HOME\setup folder you’ll find the main script, cblbld.bat. Here is the basic usage for cblbld.bat:

  1. Set up your environment variables for MicroFocus and homes
  2. Tell the script where to compile
  3. Tell the script which homes to compile

The script will handle copying source files, compiling, and deploying to the CBLBINx folder. For example, let’s compile all the source COBOL in our demo environment:

set PS_HOME=e:\psoft\pt-file-8.5x.xx 
set PS_APP_HOME=e:\psoft\hr-file-9.2.xxx 
set PS_CUST_HOME=e:\psoft\HR92DMO 
set COBROOT="e\:Program Files\MicroFocus\bin"

cd %PS_HOME%setup
cblbld.bat e: temp\compile

The last command will compile PS_HOME first and deploy and PeopleTools COBOL programs to PS_HOME\CBLBINx. Then, it will compile PS_APP_HOME source files and deploy to PS_APP_HOME\CBLBINx. Last, it will compile any source files in PS_CUST_HOME\src\cbl\base and deploy to PS_CUST_HOME\CBLBINx Let’s dig into this script to understand what is happening behind the scenes. The CBLBLD.bat script is powerful and can really help out when compiling programs.

CBLBLD

The CBLBLD.bat script takes four parameters:

  1. Drive Letter
  2. Compile Directory
  3. Encoding (Optional)
  4. Directories to compile (Optional)

CBLBLD.bat assumes you have set the environment variables mentioned above so it knows where to grab the sources files for compilation. To compile only your custom COBOL source files, pass PS_CUST_HOME to CBLBLD.bat. For example:

cblbld.bat e: temp\compile PS_CUST_HOME 

You can also pass in PS_HOME, PS_APP_HOME or PS_CUST_APP_HOME to compile only those directories. The script uses the directory name to copy the COBOL sources files to the compile directory. Then, the script CBLBLD_MF.bat is called to start up MicroFocus and compile everything in the compile directory. The CBLBLD.bat script will call the CBLBLD_MF.bat script that will set up the directory and flags for the compiler. Then CBLBLD_MF.bat will call CBLMAKE.bat to compile everything in the and CBLBIN.bat to copy the .gnt, .int, and .exe files to the appropriate CBLBINx directory.

searchCOBOLPgms

“But what if I modify a copy book that is used in lots of delivered programs? Do they compile if I only pass in PS_CUST_HOME?” The CBLBLD.bat script also calls the Perl script searchCOBOLPgms.ps. This Perl script will look at the files in your PS_CUST_HOME and look at PS_APP_HOME and PS_HOME to see if the copy books or programs you have modified to see if they are referenced by any delivered code. So, if you have modified a copy book (e.g, change an array size), this script will copy any program that uses the copy book to the Compile Directory. This makes the copy book change apply to all programs that use the copy book. The source files will still live in PS_APP_HOME or PS_HOME, but the compiled programs will be located in PS_CUST_HOME\CBLBINx.

There is a bug with the searchCOBOLPgms.ps script. If you make a copy book change in a sub program, the searchCOBOLPgms.ps script will only copy the sub program to the Compile Directory; it doesn’t look for the sub programs’ parent program. So, it can miss programs that use a copy book during the compile. Another part of the bug (or design) is that programs that run out of PS_APP_HOME or PS_HOME do not use the CBLBIN search path in psprcs.cfg to find .gnt files. This is how we found the bug in searchCOBOLPgms.ps. We had a program that needed an array increase. We modified a copy book, compiled, and re-ran the program. But, the program would still run in PS_APP_HOME\CBLBINx and ignore the new copy book in PS_CUST_HOME\CBLBINx. I filed an SR on that a few weeks ago; I’ll update the post when fix is posted.

UPDATE: December 1, 2015 The Oracle analyst I worked with agrees that the searchCOBOLPgms.ps script does not account for the subprograms. When a fix is scheduled, I’ll post another update.

UPDATE: April 18, 2016 To address some of the issues with the searchCOBOLPgms.ps script, but to also make COBOL source programs work better with selective adoption, I am starting to use a PS_APP_PATCH_HOME in our decoupled-home setup.