Tuesday 10 May 2016

Cobol execution through Process Scheduler failing with the error

Test Cobol process through process scheduler was failing with the error as below

 Message:     Process 10568 is marked 'Initiated' or 'Processing' but can not detect status of PID
        Process Name: PTPDBTST
        Process Type: COBOL SQL

We have recompiled and re-linked Cobol many time but it keep giving us the error as above.

Issue: While compiling the cobols, the compiler was converting all cobol files for Unicode


[cam90dmo@csdev1 setup]$ ./pscbl.mak
Start of compilation in PS_HOME (/home/cam90dmo/pt/ps_home8.55.03)

/home/cam90dmo/pt/ps_home8.55.03/setup/pscbl_mf.mak : Convert all files for Unicode ....


 Conversion Summary for Source Codes in  :

     Source: /home/cam90dmo/pt/ps_home8.55.03/src/cbl/
     Target: /home/cam90dmo/pt/ps_home8.55.03/src/cblunicode/

Solution: 

While installing using DPK, I have defined unicode parameter as false in psft_customizations.yaml file still the installation of PeopleTools has generated the unicode.cfg file is in the %PS_HOME%\setup directory. The said file does not exists in a non-Unicode installation.

About the file itself, it contains only one section [unicode] and one line, unicode = 1. This file is subsequently sent to the Unix machine during the PeopleSoft Batch Transfer (pstrans.exe). In addition, this file impacts the compile process of the COBOL source files.

For a quick check, query the PSSTATUS table. If UNICODE_ENABLED=1, then this indicates a Unicode installation. If UNICODE_ENABLED=0, then it is NOT a Unicode installation.

For a UNIX/LINUX unicode installation, the Cobol compile process ( psrun.mak ) looks for the existence of this %PS_HOME%/setup/unicode.cfg file and if found calls on utilities to convert all the cobols to Unicode before compiling them.  If file not found, then ANSI is assumed and Cobols are compiled as ANSI. 

Since the file was there in PS_HOME/setup, I have removed the file and recompile and re-link the cobol. This time during re-compile it didn't create the cblunicode folder in the source.

Post doing the changes, restarted the process scheduler server and the cobol was successfully executing through the process scheduler. 

No comments:

Post a Comment