Last time I worked on a PL/I program was on Data General equipment, and I've probably forgotten more than I knew. So what I'm going to suggest actually comes from a typical SQL parameter problem -- SQL assumes a constant used as a parameter, like the 2nd parm on your BlankCompress procedure,

'¬'

is character varying, not character. If that's true, then it's complaining about type mismatch on the 2nd parm.

--
*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
pdow@xxxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxxx> /

On 4/22/2011 2:12 PM, sjl wrote:
I'll start by saying I have never worked with PL/I. We have a program that
we need to compile, and I have a friend here on the midrange list who has
access to a system with the compiler.

I am not sure exactly how to compile it, but it was compiled with the
following command without success:

CRTSQLPLI
PGM(WWFIX/P82151)
SRCFILE(WWFIXSRC/JDESRC37)
SRCMBR(P82151)
COMMIT(*NONE)
TGTRLS(V5R4M0)
GENLVL(21)
REPLACE(*NO)


Here is the message received in the job log:


PLC7504 Information 00 04/22/11 12:55:05.013032 QPCTM001
QPLI 0141 QCMD QSYS 01C7
Message . . . . : The PL/I program
failed the syntax check.
Cause . . . . . : The compiler run
stopped. An error occurred, which had a
severity code greater than that
specified in the GENLVL option on the Create
PL/I Program (CRTPLIPGM) command.
Recovery . . . : Check your error
messages. Correct your program, and
reissue the Create PL/I Program
(CRTPLIPGM) command.

PLC9001 Escape 40 04/22/11 12:55:05.045248 QPCRT001
QPLI 0AB9 QCMD QSYS 01C7
Message . . . . : The compilation is
not successful.
Cause . . . . . : Errors higher than
the severity specified on the GENLVL
parameter of the CRTPLIPGM command,
were detected. The errors detected are
reported in the preceding messages on
the job log, and in the compiler
listing. Recovery . . . : Consult
the job log and the listing, correct
the errors, and recompile your source
using the CRTPLIPGM command.


Here is a snippet from the compile listing (minus the SEU statement numbers)
showing the code that is causing the error:

Variable declarations:
35 1 1 DCL QueryString char(32000) varying,
35.1 1 1 WrkString32k char(32000) varying,
35.2 1 1 WrkString500 char(500) varying,

[...]

1150 26 5 on error begin;
1151 27 6 if oncode() = 9000 then do;
1152 27 6 1 on error goto addpfm;
1153 27 6 1 WrkString500 = 'clrpfm¬qtemp/f82src¬' ||
OutfileName;
1154 27 6 1 CmdString = BlankCompress(WrkString500, '¬');
1155 27 6 1 CmdLen = length(CmdString);
1156 27 6 1 call QCMDEXC (CmdString, CmdLen);
1157 27 6 1 goto opensrc;
1158 27 6 1 end;
1159 27 6 end;

here is the code for the BlankCompress procedure:

1404 1 1 BlankCompress: PROC(SrcString, xChar)
RETURNS(char(32000) varying);
1405 45 2 DCL SrcString char(32000)
varying,
1405.1 45 2 xChar char(1),
1405.2 45 2 OutString char(32000) varying,
1405.3 45 2 Idx bin fixed,
1405.4 45 2 SrcStrLen bin fixed;
1406 45 2 OutString = '';
1407 45 2 SrcStrLen = length(SrcString);
1408 45 2 do Idx = 1 to SrcStrLen;
1409 45 2 1 if (substr(SrcString,Idx,1) ¬= ' ') then
45 2 1 OutString = OutString ||
substr(SrcString,Idx,1);
1410 45 2 1 end;
1411 45 2 OutString = translate(OutString,' ', xChar);
1412 45 2 return(OutString);
1413 45 2 end BlankCompress;


Here is what appears to be the fatal error being issued:

* 1154 MSGID: PLC3619 Severity: 20
Message . . . . : The argument '1' is passed to ENTRY
'BLANKCOMPRESS' as an empty argument.


There are also a bunch of severity 9 errors like this:

* 2 MSGID: PLC2737 Severity: 9
Message . . . . : An IBM extension to PL/I General-Purpose
Subset: Entry(*) for ASM only.
* 3 MSGID: PLC2737 Severity: 9
Message . . . . : An IBM extension to PL/I General-Purpose
Subset: Entry(*) for ASM only.
* 4 MSGID: PLC2737 Severity: 9
Message . . . . : An IBM extension to PL/I General-Purpose
Subset: Entry(*) for ASM only.
* 5 MSGID: PLC2737 Severity: 9
Message . . . . : An IBM extension to PL/I General-Purpose
Subset: Entry(*) for ASM only.
* 9.9 MSGID: PLC3015 Severity: 9
Message . . . . : A signed simple picture is an IBM
extension to the ANSI PL/I General-Purpose Subset.
* 10.4 MSGID: PLC3015 Severity: 9
Message . . . . : A signed simple picture is an IBM
extension to the ANSI PL/I General-Purpose Subset.





This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].