× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I think you are looking at the wrong error. GENLVL is set to 21, and severity of the error you are pointing out is 20. That isn't enough to stop the compiler. One thing I noticed is that you are matching Varying strings with fixed length strings, not sure if that is allowed or not. check your parameter definitions.

Mark Murphy
STAR BASE Consulting, Inc.
mmurphy@xxxxxxxxxxxxxxx

-----midrange-l-bounces@xxxxxxxxxxxx wrote: -----
To: midrange-l@xxxxxxxxxxxx
From: "sjl"
Sent by: midrange-l-bounces@xxxxxxxxxxxx
Date: 04/22/2011 05:22PM
Subject: PL/I compile errors

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.

 



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2024 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.