It's all about the answers!

Ask a question

RTC EE SYSLIB DD Concatenations not concatenating? instead go to TMPxxxxx DD names?


1
1
Travis Thorne (132) | asked Nov 04 '15, 7:34 p.m.
edited Nov 04 '15, 7:36 p.m.
 Hi,

I'm trying to create a C translator based on the JCL proc  CBC.SCCNPRC(EDCCB)  ( the XL/C C compile and bind proc )

The JCL has the DD concatenation:

//SYSLIB   DD  DSNAME=CEE.SCEEH.H,DISP=SHR               
//               DD  DSNAME=CEE.SCEEH.SYS.H,DISP=SHR     

I've created a translator in RTC :

In the "Dataset properties" section:
I've added a DD named "SYSLIB" with Data set definitions: DSN_I, DSH_H, DSN_CEE.SCEEH.H , DSN_CEE.SCEEH.SYS.H

Which seems ok, but when I run the build, the datasets don't get concatenated to the correct DD name:

The generated macro:

  <antz:mvsexec buildResultUUID="${buildResultUUID}" callMethod="0" command="" description="@{source.dataset}" loadDir="${team.enterprise.scm.fetchDestination}" maxrc="0" name="C compile" parm="GONUM,RENT,LIST,SOURCE,DEFINE(MVS),NOSEQ,SS,LO" passwordFile="${passwordFile}" pgm="CCNDRVR" publishoutputs="${team.enterprise.build.publishoutputs}" publishoutputsdds="${team.enterprise.build.publishoutputs.dds}" publishoutputsforerrorsonly="${team.enterprise.build.publishoutputs.erroronly}" publishsuccessfullogsaszips="${team.enterprise.build.publishoutputs.successfulLogsAsZips}" repositoryAddress="${repositoryAddress}" userId="${userId}">
            <antz:variable name="&amp;RTCReturnCodeForTranslator" value="@{var.1.1RTCReturnCodeForTranslator}"/>
            <antz:alloc componentName="@{source.component}" dd="SYSIN" dsn="@{source.dataset}" input="true" parm="shr" projectName="@{source.project}"/>
            <antz:alloc dd="SYSLIN" dsn="&amp;&amp;LOADSET" keep="true" output="true" parm=" tracks space(3,3) unit(SYSALLDA) blksize(3200) lrecl(80) recfm(F,B)  new"/>
            <antz:alloc dd="SYSPRINT" parm="cyl space(10,1) unit(VIO) lrecl(1024) recfm(V,B)  new" publish="true"/>
            <antz:alloc dd="SYSOUT" parm="cyl space(10,1) unit(VIO) lrecl(1024) recfm(V,B)  new" publish="true"/>
            <antz:alloc dd="SYSCPRT" parm="cyl space(10,1) unit(VIO) lrecl(1024) recfm(V,B)  new" publish="true"/>
            <antz:alloc dd="SYSUT5" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:alloc dd="SYSUT6" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:alloc dd="SYSUT7" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:alloc dd="SYSUT8" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:alloc dd="SYSUT9" parm="cyl space(30,30) unit(SYSALLDA) blksize(882) lrecl(137) recfm(V,B)  new"/>
            <antz:alloc dd="SYSUT10" parm="cyl space(10,1) unit(VIO) lrecl(1024) recfm(V,B)  new"/>
            <antz:alloc dd="SYSUT14" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:alloc dd="SYSUT16" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:alloc dd="SYSUT17" parm="cyl space(30,30) unit(SYSALLDA) blksize(12800) lrecl(3200) recfm(F,B)  new"/>
            <antz:concat dd="TASKLIB">
               <antz:alloc dd="TASKLIB" dsn="CEE.SCEERUN2" parm=" shr"/>
               <antz:alloc dd="TMP00016" dsn="CBC.SCCNCMP" parm=" shr"/>
               <antz:alloc dd="TMP00017" dsn="CEE.SCEERUN" parm=" shr"/>
            </antz:concat>
            <antz:concat dd="SYSLIB">
               <antz:alloc dd="SYSLIB" dsn="${team.enterprise.scm.resourcePrefix}.I" parm="cyl space(1,5) lrecl(255) dsorg(PO) recfm(V,B) dsntype(library)  new catalog"/>
               <antz:alloc dd="TMP00019" dsn="${team.enterprise.scm.resourcePrefix}.H" parm="cyl space(1,5) lrecl(255) dsorg(PO) recfm(V,B) dsntype(library)  new catalog"/>
               <antz:alloc dd="TMP00020" dsn="CEE.SCEEH.H" parm=" shr"/>
               <antz:alloc dd="TMP00021" dsn="CEE.SCEEH.SYS.H" parm=" shr"/>
            </antz:concat>
         </antz:mvsexec>
      
This has the effect that header files located in the first dataset are found by the compile, but header files in the subsequent datasets are not found ( since they don't appear to be alloacted to the correct dd name).?

How do I make the DD concatenation behave like a JCL concatenation; i.e. I would have expected something like the following to be generated (i.e. with SYSLIB instead of TMP00xx) :

  <antz:concat dd="SYSLIB">
               <antz:alloc dd="SYSLIB" dsn="${team.enterprise.scm.resourcePrefix}.I" parm="cyl space(1,5) lrecl(255) dsorg(PO) recfm(V,B) dsntype(library)  new catalog"/>
               <antz:alloc dd="SYSLIB" dsn="${team.enterprise.scm.resourcePrefix}.H" parm="cyl space(1,5) lrecl(255) dsorg(PO) recfm(V,B) dsntype(library)  new catalog"/>
               <antz:alloc dd="SYSLIB" dsn="CEE.SCEEH.H" parm=" shr"/>
               <antz:alloc dd="SYSLIB" dsn="CEE.SCEEH.SYS.H" parm=" shr"/>
            </antz:concat>

Please help ?

Thanks heaps,
Travis.

Accepted answer


permanent link
Liam Doherty (2312) | answered Nov 04 '15, 10:17 p.m.
JAZZ DEVELOPER
Hey Travis, do you have mixed DCBs in your concatenation. MVS can get a bit upset if you mix data sets with different DCBs in a concatenation.
Travis Thorne selected this answer as the correct answer

2 other answers



permanent link
Ravikanth Chavali (25924) | answered Nov 10 '15, 8:00 p.m.
Could it be that; All the TMPnnnnn DDs once allocated are later Concatenated with correct DD; in this case SYSLIB ?

permanent link
Travis Thorne (132) | answered Nov 10 '15, 8:55 p.m.
 Hi,

I turned on debugging using the "-debug" flag and saw that there is a concatenate statement, so yeah it seems like the dataset DCB differences were a problem ( I tried setting them all to VB255 and the header files seem to get found by the C compiler.

Cheers,
Travis Thorne

Your answer


Register or to post your answer.