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

REXX calling PL/1 proc


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Appu

New User


Joined: 26 Apr 2010
Posts: 73
Location: India

PostPosted: Fri Oct 25, 2013 3:26 pm
Reply with quote

Hi,

I am trying to call a PL/1 program from REXX.

My PLI programs is like :

Code:

SUBPGM:PROC (ABC);       
    DCL ABC CHAR(10);     
END SUBPGM;               


I compiled and called it as follows from REXX ; but I am getting S0C 4.

Code:

ADDRESS TSO "CALL 'SYS1.MYPDS.NCAL(SUBPGM)' '/ABC'"     


Please advise.
Back to top
View user's profile Send private message
Appu

New User


Joined: 26 Apr 2010
Posts: 73
Location: India

PostPosted: Fri Oct 25, 2013 3:34 pm
Reply with quote

Hi Team,

Got it worked when I changed NCAL lib to LOAD lib and changed my program as follows :

Code:

SUBPGM:PROC (ABC) OPTIONS(MAIN NOEXECOPS); 
    DCL ABC CHAR(10);                       
    PUT SKIP LIST('HELLO');                 
END SUBPGM;                                 
Back to top
View user's profile Send private message
Appu

New User


Joined: 26 Apr 2010
Posts: 73
Location: India

PostPosted: Fri Oct 25, 2013 5:19 pm
Reply with quote

Hi Team,

The variable value is not getting received properly. Please advise.

I am getting blank in the receiving program in PL1

Code:


ABC = 'hello'
ADDRESS TSO "CALL 'SYS1.MYPDS.LOADLIB(SUBPGM)' '/ABC'"   

Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Fri Oct 25, 2013 7:47 pm
Reply with quote

  1. ALLOCATE SYSPRINT to the terminal in your exec.
  2. The parameter to a MAIN procedure must be declared as CHAR (100) VAR;
  3. The slash (to separate run-time from application parameters) is not necessary in the TSO environment.
  4. You recognize that you are passing the literal "ABC", not the variable ABC?
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Fri Oct 25, 2013 11:48 pm
Reply with quote

Quote:
4. You recognize that you are passing the literal "ABC", not the variable ABC?

Similarly, you are PUTting the literal when you should be putting the variable.
Quote:
PUT SKIP LIST('HELLO');
Back to top
View user's profile Send private message
prino

Senior Member


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

PostPosted: Sat Oct 26, 2013 2:23 am
Reply with quote

Akatsukami wrote:

  1. The slash (to separate run-time from application parameters) is not necessary in the TSO environment.

Actually it is, unless, as the TS has done, you use the NOEXECOPS option. This option can also be used for BATCH programs, if they never require any run-time parameters.
Back to top
View user's profile Send private message
Appu

New User


Joined: 26 Apr 2010
Posts: 73
Location: India

PostPosted: Mon Oct 28, 2013 11:03 am
Reply with quote

Hello Team,

Many thanks for all your comments .

I got it worked by changing the CHAR(100) VARYING.

One more doubt. I am calling an IMS program from the REXX whose proc statement is as follows :

Code:
 
DLITPLI: PROC(DVO911_PCB_PTR) OPTIONS(MAIN) REORDER;     


will it be possible to call the above proc from a REXX ? Because can I pass other parms other than the PCBs in the DLITPLI proc ?
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 -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Running REXX through JOB CLIST & REXX 13
No new posts Error to read log with rexx CLIST & REXX 11
No new posts isfline didnt work in rexx at z/OS ve... CLIST & REXX 7
No new posts run rexx code with jcl CLIST & REXX 15
Search our Forums:

Back to Top