Can't Pass File between SCLM Build Processors

23 views
Skip to first unread message

jims...@gmail.com

unread,
Apr 1, 2021, 8:13:50 AM4/1/21
to ISPF discussion list
I'm not sure this is the proper place to ask SCLM questions, but since it's part of ISPF I thought I'd give it a shot.

I have a build processor that runs a REXX which reads XML and outputs an assembler CSECT to pass to the assembler.  

First build has:
FLMALLOC IOTYPE=W,DDNAME=HZSADSN,RECFM=FB,LRECL=80,BLKSIZE=0

Second build uses PORDER=3 to pass a DDNAME LIST and has
FLMALLOC IOTYPE=U,DDNAME=HZSADSN

When I try to run it the assembler gives message ASMA413C Unable to open INPUT file

To be sure the REXX is generating the asm CSECT I preallocated a sequential file and used in the first builld processor
FLMALLOC IOTYPE=A,DDNAME=HZSADSN,RECFM=FB,LRECL=80
FLMCPYLB SYS2.MSG.ASM

Then the second processor for the ASM step had
FLMALLOC IOTYPE=A,DDNAME=HZSADSN
FMLCPYLB SYS2.MSG.ASM

The build completes successfully and browsing the SYS2.MSG.ASM file has the ASM CSECT that was generated by the REXX.

I simply can't see what I'm doing wrong trying to pass the file between the build processors.  It seems the generated output from the REXX is being deleted at the end of that build processor instead of being passed, but I don't see why.

Anyone have any suggestions?  I could post the entire processor if necessary.

Thanks in advance for any help.

Jim

Peter Vels

unread,
Apr 1, 2021, 9:02:57 PM4/1/21
to ispf-...@nd.edu
Hi Jim,

Here's my version of your processor.  I don't get any errors, so I'd be interested to know what you're doing differently from me.

I didn't write a fancy Rexx to parse XML and turn it into Assembler; rather, I just punched out a few lines, which I think is valid for testing purposes.

Peter

*
         FLMLANGL   LANG=JIMSCASA,VERSION=1,                           C
               LANGDESC='JIM TEST'
*
          FLMTRNSL   CALLNAM='JIM PARSE',                              C
               FUNCTN=PARSE,                                           C
               COMPILE=FLMLPGEN,                                       C
               PORDER=1,                                               C
               OPTIONS=(SOURCEDD=SOURCE,                               C
               STATINFO=@@FLMSTP,                                      C
               LISTINFO=@@FLMLIS,                                      C
               LISTSIZE=@@FLMSIZ,                                      C
               LANG=T)  Text (count lines only)
           FLMALLOC  IOTYPE=A,DDNAME=SOURCE
            FLMCPYLB @@FLMDSN(@@FLMMBR)
*
          FLMTRNSL   CALLNAM='JIM BUILD STEP 1',                       C
               FUNCTN=BUILD,                                           C
               COMPILE=JIMSCASA,        <--- Name of REXX EXEC         C
               DSNAME=USER01.USER.EXEC, <--- //SYSEXEC                 C
               CALLMETH=TSOLNK,         <--- Invoke REXX EXEC          C
               VERSION=1.0,                                            C
               GOODRC=0,                                               C
               PORDER=1
           FLMALLOC  IOTYPE=W,RECFM=FBA,LRECL=133,                     C
               PRINT=Y,DDNAME=SYSPRINT
           FLMALLOC IOTYPE=W,DDNAME=HZSADSN,RECFM=FB,LRECL=80,BLKSIZE=0 >----\
*                                                                            |
          FLMTRNSL   CALLNAM='JIM BUILD STEP 2',                       C     |
               FUNCTN=BUILD,                                           C     |
               COMPILE=ASMA90,                                         C     |
               VERSION=1.0,                                            C     |
               GOODRC=0,                                               C     |
               PORDER=3,                                               C     |
               OPTIONS=(XREF(SHORT),LINECOUNT(75),OBJECT,RENT)               |
*  1       --SYSLIN--                                                        |
           FLMALLOC  IOTYPE=O,KEYREF=OBJ,RECFM=FB,LRECL=80,            C     |
               RECNUM=7500,DFLTTYP=OBJ                                       |
*  2       --N/A--                                                           |
           FLMALLOC  IOTYPE=N                                                |
*  3       --N/A--                                                           |
           FLMALLOC  IOTYPE=N                                                |
*  4       --SYSLIB--                                                        |
           FLMALLOC  IOTYPE=I,KEYREF=SINC                                    |
*  5       --SYSIN--                                                         |
           FLMALLOC IOTYPE=U,DDNAME=HZSADSN                             <----/
*  6       --SYSPRINT--
           FLMALLOC  IOTYPE=O,KEYREF=LIST,RECFM=FBA,LRECL=121,         C
               RECNUM=20000,PRINT=Y,DFLTTYP=LIST
*  7       --SYSPUNCH--
           FLMALLOC  IOTYPE=A
            FLMCPYLB NULLFILE
*  8       --SYSUT1--
           FLMALLOC  IOTYPE=W,RECFM=FB,LRECL=80,RECNUM=17500
*  9       --N/A--
           FLMALLOC  IOTYPE=N
* 10       --N/A--
           FLMALLOC  IOTYPE=N
* 11       --N/A--
           FLMALLOC  IOTYPE=N
* 12       --SYSTERM--
           FLMALLOC  IOTYPE=A
            FLMCPYLB NULLFILE
* 13       --N/A--
           FLMALLOC  IOTYPE=N
* 14       --N/A--
           FLMALLOC  IOTYPE=N
* 15       --N/A--
           FLMALLOC  IOTYPE=N
* 16       --SYSADATA--
           FLMALLOC  IOTYPE=A
            FLMCPYLB NULLFILE

--
You received this message because you are subscribed to the Google Groups "ISPF discussion list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ispf-l-list...@nd.edu.
To view this discussion on the web visit https://groups.google.com/a/nd.edu/d/msgid/ispf-l-list/324f5d11-dfaf-4687-a2e4-cab68c27dec0n%40nd.edu.

jims...@gmail.com

unread,
Apr 1, 2021, 9:29:30 PM4/1/21
to ISPF discussion list, peter...@gmail.com
Hey Peter, Thanks!!!

I guess I'd been looking at that for too long.  I had SYSUT1 specified with both the LRECL and BLKSIZE set at 32760.  Where I got that I have no idea.  I fixed that and did a couple of other things, like add the last IOTYPE=N statements and the FLMALLOC for SYSADATA and it started working.

It's too late now, but in the morning I'm going to go through and make one change at a time and see what really caused the problem.  Maybe the assembler considers SYSUT1 as an input file which would account for the message saying it it was unable to open INPUT file which I was interpreting as the SYSIN DD.

I'll let you know which FEMALLOC statement was actually causing the problem.  I looked and looked at this and just never noticed the bad allocation for SYSUT1.

Jim

jims...@gmail.com

unread,
Apr 2, 2021, 10:42:22 AM4/2/21
to ISPF discussion list, jims...@gmail.com, peter...@gmail.com
I was mistaken, it's still not working.  I had forgotten to do a force build so of course I got a  zero return code.

I setup a test like you did, where the XML step simply wrote out 3 lines and that was passed to the assembler without any problem.  Yet when I switch it back to the real REXX routine it fails if I write to an IOTYPE=W file.

I'm going to have to let this wait for a few days, I have something with a higher priority to do.

Thanks for taking a look Peter.

Jim

Reply all
Reply to author
Forward
0 new messages