Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

PL/1 program using CICS

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
Kasturi19

New User


Joined: 10 Jun 2014
Posts: 9
Location: India

PostPosted: Wed Oct 08, 2014 2:06 pm    Post subject: PL/1 program using CICS
Reply with quote

We are trying to run a Pl/1 program as CICS transaction.

We have written, following program:
Code:
* PROCESS MACRO,OF,MAP,NOPT;
UT9XX7P: PROC OPTIONS (MAIN,REENTRANT) REORDER;
DCL W_MSG char(79);
DCL TWA_PTR PTR;
DCL 1 TWA_AREA BASED(TWA_PTR);

W_MSG = ' FILE DISABLED, PROC P6500_STARTBR_UVW.';
EXEC CICS SEND FROM(W_MSG) ERASE LENGTH(79);
EXEC CICS RETURN;
/*
EXEC CICS ADDRESS TWA(TWA_PTR);
EXEC CICS RETURN;*/

End UT9XX7p;

And succesfully compiled the it with following job:
Code:
//XXXXXX JOB (20200123),'XXXXX',CLASS=T,MSGCLASS=X,
//         MSGLEVEL=(1,1),TIME=1440,NOTIFY=XXXXX,REGION=0M
//*
//*****************************************************************
//**       COMPILE A PLI CICS COMMAND LEVEL FROM LIB SOURCE CODE
//*****************************************************************
//PLICMND  PROC SUFFIX=1$,
//*INDEX='SYS10.CICSLOAD',
//*INDEX2='SYS10.CICSLOAD',
//       OUTC='*',
//       REG=0M,
//       SRCLBR='USUPPLY',
//       LOADMOD='USUPPLY',
//       LIBMEM='USUPPLY',
//       LINKLIB='USUPPLY',
//       PLIVER='PLI230',
//       PLIPARM='''OBJECT,NODECK,INCLUDE,NOLIST,SIZE(-900K)''',
//       LNKPARM='XREF',
//       APPL=EIS,
//       PTR=CSC,
//       USE=T,
//       Q=Q,P=P,
//       QC=Q,PC=P,
//       WORK=SYSVIO
//*
//*      THIS PROCEDURE CONTAINS 3 STEPS
//*      1.   EXEC THE PL/I TRANSLATOR
//*           (USING THE SUPPLIED SUFFIX 1$)
//*      2.   EXEC THE PL/I OPTIMIZER COMPILER
//*      3.   LINKEDIT THE OUTPUT TO
//*
//*   //PLICMND EXEC PLICMND SRCLBR='CTB.LIBR.MASTER',
//*   //        LIBMEM='HQC33A5S',
//*   //        LOADMOD='BXQC33A',
//*   //        LINKLIB='CSCT.NCSCICS.LINKLIB'
//*   /*
//*
//* 05/21/91 - ADD COM AND 'APPL' SYSLIB CONCATINATIONS FOR
//*                  THE COMPILE STEP.
//*
//TRN    EXEC PGM=DFHEPP&SUFFIX,
//       REGION=&REG
//STEPLIB DD DSN=SYS10.CICSLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=&OUTC
//SYSIN  DD DSN=&SRCLBR(&LIBMEM),DISP=SHR,SUBSYS=LAM,DCB=RECFM=FB
//SYSPUNCH DD DSN=&&SYSCIN,
//       DISP=(,PASS),UNIT=&WORK,
//       DCB=BLKSIZE=400,
//       SPACE=(400,(400,100))
//*


In CICS, we have executed following commands:
Define Program Entries - > CEDA DEF PROG(UT9XX7P) GROUP(GRP2)
Install the Program ID - > CEDA INS PROG(UT9XX7P) GROUP(GRP2)
Define Transaction ID - > CEDA DEF TRANS(NYC2) GROUP(GRP2)
Install the Transaction ID - > CEDA INS TRANS(NYC2) GROUP(GRP2)

But we are getting following error message:
DFHAC201610/07/2014 06:37:26 CST1 Transaction NYC2 cannot run because program UT9XX7P is not available.

Can anyone help me on this? I am new in this area,
Back to top
View user's profile Send private message

Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Wed Oct 08, 2014 6:25 pm    Post subject: Reply to: PL/1 program using CICS
Reply with quote

Seems that the loadlib concatenation does not include the program-id where the program can be found.
Back to top
View user's profile Send private message
Kasturi19

New User


Joined: 10 Jun 2014
Posts: 9
Location: India

PostPosted: Wed Oct 08, 2014 7:22 pm    Post subject: Reply to: PL/1 program using CICS
Reply with quote

I have done the same. Now I am getting
Code:
DFHAC2206 03:33:44 CST1 Transaction XXXX failed with abend APXA. Updates to 
 local recoverable resources backed out.

The explanation that I am getting is
APCF Explanation: A CICS task has invoked a program which was defined as PL/I, but the program was not compiled with a supported PL/I compiler, or the program may not be written in the PL/I language. System action: CICS terminates the task, and disables the program. User response: Check that the program is PL/I. If the program is PL/I, recompile it with a Language Environment conforming compiler such as VisualAge PL/I for OS/390 in which case you may need to change the source program. If the program is not PL/I, redefine it correctly. Modules: DFHAPLI

My code is
Code:
WEBTSTS: PROC (COMPTR) OPTIONS(MAIN);                             
DCL W_MSG                   char(79);                             
                                                                   
W_MSG = ' * Testing for Webservice Enablement **';                 
EXEC CICS SEND TEXT FROM(W_MSG) LENGTH(70) ERASE FREEKB;           
EXEC CICS RETURN;                                                 
/*                                                                 
EXEC CICS ADDRESS TWA(TWA_PTR);                                   
EXEC CICS RETURN;                                                 
 * PROCESS MACRO,OF,MAP,NOPT; */                                   
                                                                   
End WEBTSTS;     


My compile JCL is
Code:
//PLICMND  PROC SUFFIX=1$,                                             
//*INDEX='SYS10.CICSLOAD',                                             
//*INDEX2='SYS10.CICSLOAD',                                             
//       OUTC='*',                                                     
//       REG=0M,                                                       
//       SRCLBR='USUPPLY',                                             
//       LOADMOD='USUPPLY',                                             
//       LIBMEM='USUPPLY',                                             
//       LINKLIB='USUPPLY',                                             
//       PLIVER='PLI230',                                               
//       PLIPARM='''OBJECT,NODECK,INCLUDE,NOLIST,SIZE(-900K)''',       
//       LNKPARM='XREF',                                               
//       APPL=EIS,                                                     
//       PTR=CSC,                                                       
//       USE=T,                                                         
//       Q=Q,P=P,                                                       
//       QC=Q,PC=P,                                                     
//       WORK=SYSVIO       
//TRN    EXEC PGM=DFHEPP&SUFFIX,                                 
//       REGION=&REG                                             
//STEPLIB DD DSN=SYS10.CICSLOAD,DISP=SHR                         
//SYSPRINT DD SYSOUT=&OUTC                                       
//SYSIN  DD DSN=&SRCLBR(&LIBMEM),DISP=SHR,SUBSYS=LAM,DCB=RECFM=FB
//SYSPUNCH DD DSN=&&SYSCIN,                                       
//       DISP=(,PASS),UNIT=&WORK,                                 
//       DCB=BLKSIZE=400,                                         
//       SPACE=(400,(400,100))                                   
//*                                                               
//PLI    EXEC PGM=IEL0AA,REGION=&REG,                             
//       PARM=&PLIPARM                                           
//*YSLIB DD DSN=&INDEX..PL1LIB,DISP=SHR,SUBSYS=LAM               
//SYSLIB DD DSN=CSRT.SRACICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//*      DD DSN=CSST.GENCICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//       DD DSN=CACT.ACTCICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//       DD DSN=CACT.OEBCICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//       DD DSN=CSCT.EISCICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//       DD DSN=CSCT.NCSCICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//       DD DSN=CSCP.NCSCICS.COPYLIB,DISP=SHR,SUBSYS=LAM         
//       DD DSN=&SRCLBR,DISP=SHR,SUBSYS=LAM                       
//       DD DSN=&PTR&USE..COM.SRCLBR,SUBSYS=LAM                   
//       DD DSN=&PTR&QC..COM.SRCLBR,SUBSYS=LAM                   
//       DD DSN=&PTR&PC..COM.SRCLBR,SUBSYS=LAM                   
//       DD DSN=&PTR&USE..&APPL..SRCLBR,SUBSYS=LAM               
//       DD DSN=&PTR&Q..&APPL..SRCLBR,SUBSYS=LAM                 
//       DD DSN=&PTR&P..&APPL..SRCLBR,SUBSYS=LAM                 
//SYSPRINT DD SYSOUT=&OUTC                                       
//SYSIN    DD DSN=&&SYSCIN,DISP=(OLD,DELETE)                     
//SYSLIN DD DSN=&&LOADSET,UNIT=&WORK,                             
//       DISP=(MOD,PASS),                                         
//       SPACE=(80,(250,100))                                     
//SYSUT1 DD UNIT=&WORK,DCB=BLKSIZE=1024,                         
//       SPACE=(1024,(300,60),,CONTIG)                           
//***********************************************************     
//LKED   EXEC PGM=IEWL,REGION=&REG,                               
//       PARM=&LNKPARM,COND=(9,LT,PLI)                           
//SYSLIB DD DSN=SYS10.CICSLOAD,DISP=SHR                           
//       DD DSN=SYS1.&PLIVER..PLIBASE,DISP=SHR                   
//       DD DSN=SYS1.&PLIVER..SIBMBASE,DISP=SHR                   
//       DD DSN=SYS1.&PLIVER..PLISHRE,DISP=SHR   
//       DD DSN=&LINKLIB,DISP=SHR                                       
//       DD DSN=CSC&QC..COMBATCH.LINKLIB,DISP=SHR                       
//       DD DSN=CSC&PC..COMBATCH.LINKLIB,DISP=SHR                       
//       DD DSN=&PTR&Q..&APPL.BATCH.LINKLIB,DISP=SHR                   
//       DD DSN=&PTR&P..&APPL.BATCH.LINKLIB,DISP=SHR                   
//*      DD DSN=SYS3.DB80T01.LINKLIB,DISP=SHR      DATA BASE STUFF *   
//*      DD DSN=SYS2.DB80NEW.LINKLIB,DISP=SHR      DATA BASE STUFF *   
//*      DD DSN=SYS2.DB80CUM.LINKLIB,DISP=SHR      DATA BASE STUFF *   
//*      DD DSN=SYS2.DB80BAS.LINKLIB,DISP=SHR      DATA BASE STUFF *   
//*      DD DSN=SYS1.VSF240.VSF2MATH,DISP=SHR      FORTRAN STUFF   *   
//*      DD DSN=SYS1.VSF240.VSF2FORT,DISP=SHR      FORTRAN STUFF   *   
//*      DD DSN=CSYP.SPSBATCH.LINKLIB,DISP=SHR     GLOBAL ROUTINES *   
//*      DD DSN=MVSMS12.LINKLIB,DISP=SHR                               
//*      DD DSN=SYS1.PPLINK,DISP=SHR               OEM STUFF       *   
//TESTLIB DD DSN=&PTR.T.&APPL.BATCH.LINKLIB,DISP=SHR                   
//SYSLMOD DD DSN=&LINKLIB.(&LOADMOD),DISP=SHR                           
//SYSUT1  DD UNIT=&WORK,DCB=BLKSIZE=1024,                               
//       SPACE=(1024,(200,20))                                         
//SYSPRINT DD SYSOUT=&OUTC                                             
//*YSLIN DD DSN=SYS10.CICSTS23.ADFHPL1(DFHEILIP),DISP=SHR               
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE)                             
//*      DD DSN=&INDEX..PL1LIB(PLISHRE),DISP=SHR                       
//       DD DDNAME=SYSIN                                               
//       PEND                                                           
//*                                                                     
//PLICMNDX EXEC PROC=PLICMND,                                           
//         SRCLBR='CSCT.EIS.SRCLBR',          SOURCE LIBRARIAN         
//         LIBMEM=WEBTSTS,                   LIBRARIAN MEMBER NAME     
//         LINKLIB='XX.XXX',    TARGET LIB FOR PROGRAM   
//         LOADMOD=WEBTSTS,                  LOAD MODULE PROGRAM NAME   
//         APPL=EIS                                                     
//LKED.SYSIN DD *     

/*

Can you please help me ?
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7223

PostPosted: Wed Oct 08, 2014 8:57 pm    Post subject: Reply to: PL/1 program using CICS
Reply with quote

Looks like your compiler is old. Where did you get the JCL? You should ask colleagues/your support how you should be compiling the program to run under CICS at your site.
Back to top
View user's profile Send private message
Kasturi19

New User


Joined: 10 Jun 2014
Posts: 9
Location: India

PostPosted: Thu Oct 09, 2014 11:10 am    Post subject: Reply to: PL/1 program using CICS
Reply with quote

Thank you. I will check with support.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts How does a called pgm know if its cal... Graeme Westerman COBOL Programming 4 Tue Nov 29, 2016 9:25 pm
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm
No new posts CICS Roll back partially - Need to re... dwijadas CICS 4 Wed Nov 16, 2016 4:30 pm
No new posts CICS NEW SIT PARAMETERS CICS BEHAVIOR... Kyle Carroll CICS 0 Fri Nov 04, 2016 11:55 pm
No new posts Single COPY CICS TS datasets and when... Kyle Carroll CICS 2 Tue Oct 11, 2016 9:47 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us