Calling a PL/I program from REXX

2005-05-17 Thread Paulo Caze
Hi all. I have a PL/I program that receives 2 arguments: PGM1: PROCEDURE(DSN,DDN) OPTIONS(MAIN NOEXECOPS) REORDER; DCL DSN CHAR(44) VAR; DCL DDN CHAR(08) VAR; Then I'm calling this pgm in a REXX: dsn = left('sys1.proctest',44) ddn = left('DD1',8) address linkmvs "PGM1 dsn ddn" Then I

Re: Calling a PL/I program from REXX

2005-05-17 Thread Don Poitras
As I read the doc, PL/1 won't parse the args from the OS PARM other than using the length to set the varying size. http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ibm3lr10/6.7.3 --- When the invoking program is the operating system and when compiled with the SYSTEM(MVS) compiler option:

Re: Calling a PL/I program from REXX

2005-05-18 Thread Shmuel Metz (Seymour J.)
In <[EMAIL PROTECTED]>, on 05/17/2005 at 05:19 PM, Paulo Caze <[EMAIL PROTECTED]> said: >I have a PL/I program that receives 2 arguments: >PGM1: PROCEDURE(DSN,DDN) OPTIONS(MAIN NOEXECOPS) REORDER; >DCL DSN CHAR(44) VAR; >DCL DDN CHAR(08) VAR; Check the documentation for NOEXECOPS.

Re: Calling a PL/I program from REXX

2005-05-18 Thread Jeffery Swagger
Under z/OS 1.4 and PL/I Enterprise 3.3 the following program works when called by the OP REXX code. PGM1: PROCEDURE(DSN,DDN) OPTIONS(MAIN NOEXECOPS BYADDR) REORDER; DCL DSN CHAR(44) VAR; DCL DDN CHAR(08) VAR; PUT DATA(DSN); PUT SKIP DATA(DDN); END PGM1; Tested in TSO foreground, back

Re: Calling a PL/I program from REXX

2005-05-19 Thread Peter Hunkeler
>>PGM1: PROCEDURE(DSN,DDN) OPTIONS(MAIN NOEXECOPS) REORDER; > >Why would you expect that to work? REXX doesn't know about PL/I >locator/descriptors, so you need to either construct parameters that >PL/I can handle or declare your procedure to handle the parameters >that REXX constructs. You may ne

Re: Calling a PL/I program from REXX

2005-05-19 Thread Tomas J Fott
On Thu, 19 May 2005 10:15:28 +0200, Peter Hunkeler <[EMAIL PROTECTED]> wrote: >But isn't OPTIONS(MAIN) telling PL/1 it shall expect a standard >OS parameter list instead of the PL/1 internal descriptors? At least, >I understand it that way. > OPTIONS(MAIN) tells nothing about register R1 (pointer

Re: Calling a PL/I program from REXX

2005-05-19 Thread Paulo Caze
>>Under z/OS 1.4 and PL/I Enterprise 3.3 the following >>program works when called by the OP REXX code. >> PGM1: PROCEDURE(DSN,DDN) OPTIONS(MAIN NOEXECOPS BYADDR) REORDER; That's a good solution! We have z/OS 1.4 but not PL/I Interprise. We have PL/I 2.3 and BYADDR doesn't compiled with this r

Re: Calling a PL/I program from REXX

2005-05-19 Thread Peter Hunkeler
>OPTIONS(MAIN) tells nothing about register R1 (pointer to parameter >list). I didn't say R1, I said standard OS parameter list. It just happens to involve R1 on MVS but does it some other way on other platforms where PL/1 is supported. >PL1 program that has not OPTIONS(MAIN) expects that PL1 e

Re: Calling a PL/I program from REXX

2005-05-19 Thread Shmuel Metz (Seymour J.)
In <[EMAIL PROTECTED]>, on 05/18/2005 at 08:38 PM, Jeffery Swagger <[EMAIL PROTECTED]> said: > PGM1: PROCEDURE(DSN,DDN) OPTIONS(MAIN NOEXECOPS BYADDR) REORDER; Note that the OP had OPTIONS(MAIN NOEXECOPS); I suspect that BYADDR is the key. >It should be working for him. Which? Your code or

Re: Calling a PL/I program from REXX

2005-05-19 Thread Shmuel Metz (Seymour J.)
In <[EMAIL PROTECTED]>, on 05/19/2005 at 10:15 AM, Peter Hunkeler <[EMAIL PROTECTED]> said: >But isn't OPTIONS(MAIN) telling PL/1 it shall expect a standard OS >parameter list instead of the PL/1 internal descriptors? Yes; I'm not sure what OPTIONS(MAIN NOEXECOPS) is telling it. Note that the

Re: Calling a PL/I program from REXX

2005-05-19 Thread Shmuel Metz (Seymour J.)
In <[EMAIL PROTECTED]>, on 05/19/2005 at 09:15 AM, Paulo Caze <[EMAIL PROTECTED]> said: >That's a good solution! We have z/OS 1.4 but not PL/I Interprise. We >have PL/I 2.3 and BYADDR doesn't compiled with this release. Check the "optimizing compiler documentation for Inter-Language Communicat

Re: Calling a PL/I program from REXX

2005-05-19 Thread Jeffery Swagger
Okay, we still have OS PL/I 2.3 so, if I get a chance, I'll try it with that. It should work with OS PL/I 2.3 too. In the meantime, do you: a) Link with the OLD runtime (SIBMBASE and PLIBASE) and then execute with the OLD runtime (SIBMLINK and PLILINK) b) Link with the OLD runtime but execute wi

Re: Calling a PL/I program from REXX

2005-05-19 Thread Jeffery Swagger
Replying to my own post. Well, tried a couple of variations with OS PL/I 2.3. In short, forgetaboutit. Ain't gonna work. The OP needs the current compiler. -- Jeff Jeffery Swagger said the following on 05/19/2005 06:50 PM: Okay, we still have OS PL/I 2.3 so, if I get a chance, I'll try it with that

Re: Calling a PL/I program from REXX

2005-05-19 Thread Stephen Y Odo
Don't know if this is helpful ... but when we had the "5688-235 IBM PL/I for MVS & VM Ver 1 Rel 1 Mod 1" compiler (which is slightly newer than the one you're using), I used to write REXX callable functions with code like . Sorry, what you see there is not

Re: Calling a PL/I program from REXX

2005-05-20 Thread Shmuel (Seymour J.) Metz
In <[EMAIL PROTECTED]>, on 05/19/2005 at 03:59 PM, Peter Hunkeler <[EMAIL PROTECTED]> said: >I didn't say R1, I said standard OS parameter list. The standard OS PLIST on z/OS is one word long and he needs two. >But isn't it true that with the MAIN option, PL/1 expects the >oposite: Environme