IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

unable to compile module


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
jzhardy

Active User


Joined: 31 Oct 2006
Posts: 131
Location: brisbane

PostPosted: Tue Jun 02, 2020 1:24 pm
Reply with quote

i'm trying to compile a module I sourced from IDUG called SSMTEP2 (a modified version of DSNTEP2 that writes to VB)

with the following JCL I was able to compile and linkedit a simple 'hello world' program:

Code:
//xxxxxPLI JOB
...                     
//BR14   EXEC  PGM=IEFBR14,COND=(12,LE)             
//ALLOC    DD  DSN=xxxxx.OBJ(SSMTEP2),             
//   DISP=(SHR,PASS),                               
//             UNIT=SYSDA,SPACE=(TRK,(1,2))         
//PLIO   EXEC  PGM=IEL0AA,REGION=1024K,COND=(12,LE),
// PARM=''                                         
//STEPLIB DD   DSN=SYS1.PLI.PLICOMP,DISP=SHR       
//SYSPRINT DD  SYSOUT=*                             
//SYSIN    DD  DSN=xxxxx.PLI(SSMTEP2),             
//   DISP=SHR                                       
//SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(2,2))         
//SYSLIB   DD  DUMMY                                 
//SYSLIN   DD  DSN=xxxxx.OBJ(SSMTEP2),             
//   DISP=(SHR)                                     
//* *********************************               
//* LINK-EDIT (BINDER) STEP                         
//* *********************************               
//LINK EXEC PGM=IEWL,PARM=(LET,MAP,LIST),REGION=0M   
//SYSLIB   DD DSN=SYS1.CEE.SCEELKED,DISP=SHR         
//SYSPRINT DD SYSOUT=*                               
//SYSLMOD  DD DISP=SHR,DSN=xxxxx.LOADLIB(SSMTEP2)   
//SYSUT1   DD UNIT=SYSDA,SPACE=(TRK,(10,10))         
//SYSLIN   DD DSN=xxxxx.OBJ(SSMTEP2),DISP=(OLD,PASS)


but when I ran this job against SSMTEP2 I got the following errors:

IEW2278I B352 INVOCATION PARAMETERS - LET,MAP,LIST
IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.
IEW2230S 0414 MODULE HAS NO TEXT.
IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.
IEW2008I 0F03 PROCESSING COMPLETED. RETURN CODE = 12.

any help appreciated
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Tue Jun 02, 2020 1:33 pm
Reply with quote

Your allocation in the BR14 step is wrong, a PDS needs directory blocks, and you cannot allocate it with a membername!

How did your compilation step end (RC=?) and what "Compiler Diagnostic Messages" did you get?

What's the sysin for the link-edit step?

And for what it's worth, why don't you use Enterprise PL/I rather than the OS PL/I compiler that has been out of service for about 15 years or so?
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Jun 02, 2020 9:14 pm
Reply with quote

The Binder messages seem to say there was nothing in the data set specified by the SYSLIN DD statement. It might be related to the IEFBR14 step prino already mentioned, or the compile step, You need to check for messages from the PL/I compiler.
Back to top
View user's profile Send private message
jzhardy

Active User


Joined: 31 Oct 2006
Posts: 131
Location: brisbane

PostPosted: Wed Jun 03, 2020 1:45 pm
Reply with quote

sorry, that was a lazy cut and paste. Here is the correct version i'm now using:
Code:
//xxxxxPLI JOB (DHS,CSA),'PLI',                                         J0169777
//             USER=xxxxx,
//             CLASS=D,
//             NOTIFY=xxxxx,
//             MSGCLASS=X
//*
//*
//*  ***************************************
//*     PREPROCESS STEP (COMPILE STAGE 1)
//*  ***************************************
//PRECOMP  EXEC PGM=IBMZPLI,REGION=0M,
//   PARM=('MACRO,MDECK,NOCOMPILE,NOSYNTAX,INSOURCE')
//STEPLIB  DD   DSN=SYS1.PLI.SIBMZCMP,DISP=SHR
//         DD   DSN=SYS1.CEE.SCEERUN,DISP=SHR
//SYSIN    DD   DISP=SHR,DSN=xxxxx.PLI(SSMTEP2)
//SYSLIB   DD   DISP=SHR,DSN=xxxxx.COPYLIB
//SYSPRINT DD   SYSOUT=*
//SYSUT1   DD   SPACE=(1024,200,50),,CONTIG,ROUND),DCB=BLKSIZE=1024,
//             UNIT=SYSDA
//SYSPUNCH DD DISP=SHR,DSN=xxxxx.PLI.EXPANDED(SSMTEP2)
//*  ***************************************
//*     COMPILE STEP (COMPILE STAGE 2)
//*  ***************************************
//PLIO   EXEC  PGM=IBMZPLI,REGION=1024K,COND=(12,LE),
// PARM=('+DD:OPTIONS')
//OPTIONS  DD *
TEST(ALL),LIST,MAP,SOURCE,XREF(FULL),
NOBLKOFF,AGGREGATE,ATTRIBUTES(FULL),NEST,OPTIONS,NOPT,
STMT,NONUMBER,OFFSET
/*
//STEPLIB  DD DSN=SYS1.PLI.SIBMZCMP,DISP=SHR
//         DD DSN=SYS1.CEE.SCEERUN,DISP=SHR
//SYSIN    DD DISP=SHR,DSN=xxxxx.PLI.EXPANDED(SSMTEP2)
//SYSLIB   DD DISP=SHR,DSN=xxxxx.COPYLIB
//*SYSPRINT DD DISP=SHR,DSN=xxxxx.LISTING(SSMTEP2)
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD SPACE=(CYL,5,2),,CONTIG),DCB=BLKSIZE=1024,UNIT=SYSDA
//SYSLIN   DD DSN=xxxxx.OBJ(SSMTEP2),DISP=SHR
//*
//*PLIPRINT  EXEC PGM=IEBGENER,REGION=0M
//*SYSPRINT  DD SYSOUT=*
//*SYSUT1    DD DSN=xxxxx.LISTING(SSMTEP2),DISP=SHR
//*SYSUT2    DD SYSOUT=*
//*SYSIN     DD DUMMY
//* *********************************
//* LINK-EDIT (BINDER) STEP
//* *********************************
//*LINK EXEC PGM=IEWL,PARM=(LET,MAP,LIST),REGION=0M
//*SYSLIB   DD DSN=SYS1.CEE.SCEELKED,DISP=SHR
//*SYSPRINT DD SYSOUT=*
//*SYSLMOD  DD DISP=SHR,DSN=xxxxx.LOADLIB(SSMTEP2)
//*SYSUT1   DD UNIT=SYSDA,SPACE=(TRK,(10,10))
//*SYSLIN   DD DSN=xxxxx.OBJ(SSMTEP2),DISP=(OLD,PASS)


with this I get the following errors:

Code:

IBM1784I S       1313     3527.0     The ENTRY SQLDATA may not be used as a loc
                                     since it does not have the RETURNS attribu
IBM1787I S       1497     3896.0     The ENTRY SQLIND may not be used as a oca
IBM1787I S       1540     3991.0     The ENTRY SQLIND may not be used as a loca
IBM1787I S       1543     3996.0     The ENTRY SQLDATA may not be used as a loc
IBM1787I S       1547     4004.0     The ENTRY SQLIND may not be used as a loca
IBM1787I S       1550     4011.0     The ENTRY SQLDATA may not be used as a loc
IBM1787I S       1550     4011.0     The ENTRY SQLDATA may not be used as a loc
IBM1787I S       1550     4011.0     The ENTRY SQLDATA may not be used as a loc
IBM1787I S       1578     4073.0     The ENTRY SQLDATA may not be used as a loc
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Wed Jun 03, 2020 3:46 pm
Reply with quote

... and have you googled IBM1784I and IBM1787I ? Once you have cleared up such errors, your compile might produce some output to be passed to the link-edit step.

Garry.
Back to top
View user's profile Send private message
Phrzby Phil

Senior Member


Joined: 31 Oct 2006
Posts: 1042
Location: Richmond, Virginia

PostPosted: Wed Jun 03, 2020 9:26 pm
Reply with quote

This issue provides the answer to a great IBM trivia question: Across all of IBMdom, which set of messages have prefix IBM ?[/u]
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Wed Jun 03, 2020 9:29 pm
Reply with quote

No interest in actually testing this, but adding the SQL pre-processor option to the compiler options might do the trick, and doing a separate pre-compile step is so not required nowadays.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts C Compile time time stamps Java & MQSeries 10
This topic is locked: you cannot edit posts or make replies. How To Write, Compile and Execute Cob... COBOL Programming 5
No new posts Infosphere Optim - unable to save Col... IBM Tools 0
No new posts Print out all lines with 'IBM' compil... CLIST & REXX 8
Search our Forums:

Back to Top