My REXX looks like this. Previously, I passed one long string to my COBOL program as PARM5SS. Now I am trying to create a PLIST to pass to my COBOL Program. I do not really know what I am doing with this. I am just trying to figure it out. I could do it one way. I wanted to see if I could do it another way.
TRACE 'A' COMMAREA = SUBSTR('UIF2087A 2012001 ',1,126) COMMAREA_LEN = LENGTH(COMMAREA) DATALENGTH = LENGTH(COMMAREA) USER_ID = 'IF2087A ' APPLID = 'DHIPO158' PROGRAM_NAME = 'Z7XG5SS ' OPERATION = 'A' SMSF_ID = SUBSTR('FREDRICK',1,20) RETURN_SWITCH = 'N' RETURN_MESSAGE = SUBSTR('MESSAGE SENT TO REXXEXCI',1,80) PARM5SS = SUBSTR('IF2087A DHIPO158Z7XG5SS AFREDDAY',1,126) PARM = 'USERID('USER_ID') APPLID('APPLID') PROGRAM('PROGRAM_NAME')' , 'OPERATION('OPERATION') SMSFID('SMSF_ID')' , 'RETURNSWITCH('RETURN_SWITCH') RETURNMESSAGE('RETURN_MESSAGE')' SAY 'COMMAREA CONTENTS BEFORE LINK ARE:' COMMAREA CALL REXXEXCI PARM SAY 'MAIN EXEC - RESULT VARIABLE CONTENTS:' RESULT SAY SAY 'TRACE_LOC IS:' TRACE_LOC On Mon, Mar 22, 2021 at 1:11 PM Paul Gilmartin < 0000000433f07816-dmarc-requ...@listserv.ua.edu> wrote: > On Mon, 22 Mar 2021 16:48:29 +0000, Seymour J Metz wrote: > > >What environment did you use in your ADDRESS statement? Please post the > relevant REXX code. > > > For example, here's an excerpt of my Rexx code. I could have used LINKMVS. > Values could be returned in the PARMs. > > PARM1 = '' > Nulls = left('', 8, '00'x) > PARM2 = Nulls || , /* 1 */ > Nulls || , /* 2 */ > Nulls || , /* 3 */ > Nulls || , /* 4 */ > G.9CTRL || , /* SYSIN */ > G.9IEBOUT || , /* SYSPRINT */ > Nulls || , /* 7 */ > IDD || , /* SYSUT1 */ > JobOut /* SYSUT2 */ > /* ... */ > address 'ATTCHMVS' 'IEBGENER PARM1 PARM2' > IEBRC = RC > > >________________________________________ > >From: Cameron Conacher > >Sent: Monday, March 22, 2021 12:44 PM > > > >I am not sure I understand now. > >I created a simple COBOL Program and added a number of 01 level items to > >the Linkage section and then I added PROCEDURE DIVISION USING... a list of > >the data items I expected to see passed from my little REXX EXEC. > >LINKAGE SECTION. > >01 parameter-1 PIC X(08) > >01 parameter-2 PIC X(08) > >01 parameter-3 PIC X(20) > > > >PROCEDURE DIVISION USING parameter-1, parameter-2, parameter-3. > > > >I create a PLIST in REXX and called my dumb program passing the PLIST PARM > >and then dumped the Linkage parameters. > > > >From what I can see when I look at the items in HEX, I get a two byte > >binary length followed by something that looks like a pointer. > >len= x'000A' and pointer is x'0000000130E10000' > >But none of the PARMs are actually ten bytes long, and the address seems > >wrong to me. > > -- gil > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN