Troubleshooting COBOL Problem

Here’s another problem that I ran into …

COBOL wouldn’t run. Even the simple test didn’t work.

In researching, I found this in my SCHDLR log file.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   Server: PSNT checking status...
   Server action mode: Submitting request
   Number of New Process Request(s) To Start: 1
   Process Instance: 1236 started
   Starting process:  1236
        Process Name: PTPDBTST
        Process Type: COBOL SQL
       Command Line:  C:\pshome\hcm89\CBLBINA\PTPDBTST.EXE
       Parm List:     ORACLE/HCM89/PS/OPRPSWD/SCR/1236//0
       Working Dir:   E:\oracle\11.1.0\client
        Session Id:   2656
   Server: PSNT checking status...
   Server action mode: Ok (looking for requests)
   Server: PSNT looking for work
   Checking Process cancels...
=================================Error===============================
   Process 1236 is marked 'Initiated' or 'Processing' but can not detect status of PID
   Updating process instance's status to Error.
        Process Name: PTPDBTST
        Process Type: COBOL SQL
        Session Id:   2656
=====================================================================
  Number of requests removed from Task Active List:  1
   Server: PSNT checking status...

So, I took the command line from the file, and I tried to run it in a command window. Here’s what happened:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
E:\>cd \oracle\11.1.0\client
 
E:\oracle\11.1.0\client>
E:\oracle\11.1.0\client>C:\pshome\hcm89\CBLBINA\PTPDBTST.EXE ORACLE/HCM89/PS/PS/
SCR/1236//0
 
Application Program Failed
 Action Type     : SQL CONNEC
 In Pgm Section  : SQLRT:GG100 SQL-CONNECT
 With Return Code: 09989
 Error Message   : SQLRT: Operator ID not allowed to submit COBOL from client
 
FAIL TO CONNECT
PTPDBTST:
Application Program Failed
 In Pgm Section  : CONNECT FAILED
 With Return Code: 09989
 Error Message   : SQLRT: Operator ID not allowed to submit COBOL from client

On the PeopleSoft Wiki, I found that you are not supposed to have the bin directory from your PeopleSoft home on your path. Just to test, I adjusted the path for just the one command window, and tried it:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
E:\oracle\11.1.0\client>echo %path%
E:\oracle\11.1.0\client;E:\Java\jrockit-jdk1.6.0_24-R28.1.3-4.0.1\bin;C:\pshome\
hcm89\bin\client\winx86;E:\oracle\11.2.0\dbhome_1\BIN;C:\WINDOWS\system32;C:\WIN
DOWS;C:\WINDOWS\System32\Wbem;c:\pshome\bea\tuxedo11gR1\bin;c:\pshome\bea\tuxedo
11gR1\jre\bin\server;c:\pshome\bea\tuxedo11gR1\jre\bin
 
E:\oracle\11.1.0\client>set path=E:\oracle\11.1.0\client;E:\Java\jrockit-jdk1.6.
0_24-R28.1.3-4.0.1\bin;E:\oracle\11.2.0\dbhome_1\BIN;C:\WINDOWS\system32;C:\WIND
OWS;C:\WINDOWS\System32\Wbem;c:\pshome\bea\tuxedo11gR1\bin;c:\pshome\bea\tuxedo1
1gR1\jre\bin\server;c:\pshome\bea\tuxedo11gR1\jre\bin
 
E:\oracle\11.1.0\client>C:\pshome\hcm89\CBLBINA\PTPDBTST.EXE ORACLE/HCM89/PS/PS/
SCR/1236//0
Unable to load program: PSSQLORA_ANSI.DLL    Application terminated.

So, I did a search for PSSQLORA_ANSI.DLL, and I found it in the server bin directory. When I put that on the path, I got a little further:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
E:\oracle\11.1.0\client>set path=c:\pshome\hcm89\bin\server\winx86;%path%
 
E:\oracle\11.1.0\client>C:\pshome\hcm89\CBLBINA\PTPDBTST.EXE ORACLE/HCM89/PS/PS
psoracle/1237//0
SUCCESSFUL DATABASE CONNECTION
PTPSQLRT - ERROR IN BIND SETUP/DATA
STATEMENT=PTPUSTAT_U_PRCRQSE
VARIABLE#=001
DATA TYPE=001
DATA LEN =0001
SCALE    =000
 
Application Program Failed
 Action Type     : SQL UPDATE
 In Pgm Section  : SQLRT: PROCESS-SETUP(BIND)
 With Return Code: 08001
 Error Message   : Invalid bind variable number
 Stored Stmt     : PTPUSTAT_U_PRCRQSE
 SQL Statement   : UPDATE PSPRCSRQST SET RUNSTATUS = :1 ,PRCSRTNCD = :2 ,ENDDTT
                   M = SYSDATE ,LASTUPDDTTM = SYSDATE ,CONTINUEJOB = :3 WHERE P
                   RCSINSTANCE = :4
 
                                       at pos 00028
 
PTPSQLRT - Error Encountered
No longer have connection to DB due to an error from previous
action: SQL UPDATE. Bypassing current action: SQL SELECT.
Terminating Program.

Then, I found why I was getting the SQL error. My compile process was not completing properly:

1
2
3
4
5
6
7
Compile error for SRPCTEXT.obj
Compile error for SRPCWD.obj
The error list is in c:\temp\compile\ERROR.LIS
.
Aborting this process !!! EXEs/GNTs/INTs are not going to be copied/replaced...
.
Please fix the errors and rerun this batch file !!!!!!!

So, I looked in the c:\temp\compile\CBLBLD.log and I found a reference to the LIS files that contained the error messages:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
********** COMPILE PTPWLGEN.GNT **********
 
********** COMPILE SFP1098P.GNT **********
 
Creating error listing (SFP1098P.LIS)
                                  --------------------
 
********** COMPILE SFPAPLPY.GNT **********
 
Creating error listing (SFPAPLPY.LIS)
                                  --------------------
 
********** COMPILE SFPBCALC.GNT **********
 
Creating error listing (SFPBCALC.LIS)
                                  --------------------

Then, in the SFP1098P.LIS, I found a specific error message. The end of the file said that the last message was on page 153. There, I found this:

1
2
3
4
5
6
7
  7223     END-IF
  7224
  7225     SET MSG-NBR-TOT-REC-INS       OF LOGMS TO TRUE
*  12-S******************************************                      (  68)**
**    Operand MSG-NBR-TOT-REC-INS is not declared
  7226     MOVE 4     TO PARM-COUNT      OF LOGMS
  7227     SET SEVERITY-INFO             OF LOGMS TO TRUE

That didn’t help me too much, so I opened it up in GVim. Then, I could do a regex search to find the lines that start with two asterisks (**) — “/^\*\*”.

That turned up the answer. I was missing a copy file:

1
2
3
4
5
   626******************************************************************
   627
*  628                                 COPY SFC1098P.
*   8-S**********************************************                  (   0)**
**    Unknown COPY file SFC1098P specified

Leave a Comment

Your email address will not be published. Required fields are marked *

Comments
Name
Email
Website

This site uses Akismet to reduce spam. Learn how your comment data is processed.