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
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

permanent link
Ravikanth Chavali (401724) | 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 ?

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.