Submit a Process from UNIX to z/OS to Connect:Enterprise Using BATCHID

The following examples submit a Process from Connect:Direct® for UNIX to Connect:Direct for z/OS®, which then executes an MB#ADD01 function on Connect:Enterprise®.

The following is the Connect:Direct for UNIX Process:

set -v
ndmcli -x << EOJ
submit
proc1 process snode=ip addr;portnum  snodeid=(ROGER,ROGERpassword)
step1  submit file="$hlq.cd.PROCESS(MB#ADD01)"
         &FROMDSN=TEST.DATAFILE
         &RMTID=rmtid
         &BATCHID=TESTBATCH
         subnode=snode
pend;

The following is the z/OS Process called by the UNIX Process. This Process performs an MB#ADD01 on Connect:Enterprise:

MB#ADD01  PROCESS  SNODE=CD.OS390                                 -
   &NOTIFY=' '                     /* Notify nobody            */ -
   &FROMDSN='''FROM.DSN.NAME'''    /* DATA SOURCE FILE NAME    */ -
   &FILETYP=TEXT                   /* DATA SOURCE FILE TYPE    */ -
   &PROFDSN='$hlq.CD.PROFILE'      /* PROFILE DSN              */ -
   &PROFMEM=SUBADD01               /* EXTRACT PROFILE MEMBER   */ -
   &USER=%USER                     /* ORIGINATOR ID            */ -
   &SEQ=%NUM1                      /* UNIQUE NUMBER            */ -
   &RMTID=RMTID                    /* RDX BATCH RMTID          */ -
   &MBNAME=E100                    /* RDX NAME                 */ -
   &LOCAPPL=MBICO                  /* RDX LOCAL APPLID         */ -
   &MBAPPL=SBLDUB74                /* RDX APPLID               */ -
   &LOGMODE=TESTLU62               /* RDX LOG MODE TABLE       */ -
   &USERID=USERID                  /* RDX USERID               */ -
   &PASSWRD=PASS                   /* RDX PASSWORD             */ -
   &BATCHID=BATCH.ID               /* RDX BATCH ID             */ -
   &BATCHNO=0                      /* RDX BATCH NUMBER         */ -
   &BUFSIZE=0                      /* VTAM BUFFER SIZE         */
*
   SYMBOL  &HLQ1=\CD.\ || &RMTID
   SYMBOL  &SEQ1=\T\ || &SEQ
   SYMBOL  &ADSN=\&HLQ1\ || \.STOUT0.INFILE.\ || &SEQ1
   SYMBOL  &IDSN=\&HLQ1\ || \.STOUT0.SYSIN.\ || &SEQ1
   SYMBOL  &PDSN=\&HLQ1\ || \.STOUT0.SYSPRINT.\ || &SEQ1
   SYMBOL  &LDSN=\&HLQ1\ || \.STOUT0.LOGFILE.\ || &SEQ1
   SYMBOL  &SDSN=\&HLQ1\ || \.STOUT0.SNAPOUT.\ || &SEQ1
*
   SYMBOL  &BATCHID2=\'''\ || &BATCHID || \'''\
*
* COPY FILE FROM SOURCE NODE
*
MBA$COPY COPY   FROM(SNODE DSN=&FROMDSN   DISP=SHR)               -
                TO  (      DSN=&ADSN      DISP=(RPL,CATLG)        -
                                          TYPE=&FILETYP)
*
 IF (MBA$COPY > 0) THEN
   RUN TASK (PGM=DMIONOTE,                                        -
             PARM=(ADD, FAIL, "&FROMDSN", &RMTID, “&BATCHID2",    -
                   MBA$COPY, &NOTIFY)) PNODE
   EXIT
 EIF
*
* CREATE THE TEMPORARY FILE FOR USE BY ADD
*
MBA$CREI RUN TASK (PGM=DMRTDYN                                    -
                   PARM=(C'ALLOC',                                -
                         C" DSN=&IDSN"                            -
                         C' DISP=(NEW,CATLG)',                    -
                         C' SPACE=(TRK,(1,1))',                   -
          C' DCB=(RECFM=FB,DSORG=PS,LRECL=80,BLKSIZE=800)',       -
                         C'UNIT=SYSDA',                           -
                         F'-1',                                   -
                         C'UNALLOC',                              -
                         C" DSN=&IDSN")) PNODE
*
 IF (MBA$CREI > 0) THEN
   RUN TASK (PGM=DMIONOTE,                                        -
             PARM=(ADD, FAIL, "&FROMDSN", &RMTID, "&BATCHID2",    -
                   MBA$CREI,  &NOTIFY)) PNODE
   EXIT
 EIF
*
MBA$CREP RUN TASK (PGM=DMRTDYN                                    -
                   PARM=(C'ALLOC',                                -
                         C" DSN=&PDSN"                            -
                         C' DISP=(NEW,CATLG)',                    -
                         C' SPACE=(TRK,(1,1))',                   -
       C' DCB=(RECFM=FBA,DSORG=PS,LRECL=133,BLKSIZE=2660)',       -
                         C'UNIT=SYSDA',                           -
                         F'-1',                                   -
                         C'UNALLOC',                              -
                         C" DSN=&PDSN")) PNODE
*
 IF (MBA$CREP > 0) THEN
   RUN TASK (PGM=DMIONOTE,                                        -
             PARM=(ADD, FAIL, "&FROMDSN", &RMTID,  "&BATCHID2",   -
                   MBA$CREP, &NOTIFY)) PNODE
/* GOTO MBA$DELI   */
 EXIT
 EIF
*
MBA$CREL RUN TASK (PGM=DMRTDYN                                    -
                   PARM=(C'ALLOC',                                -
                         C" DSN=&LDSN"                            -
                         C' DISP=(NEW,CATLG)',                    -
                         C' SPACE=(TRK,(1,1))',                   -
        C' DCB=(RECFM=FB,DSORG=PS,LRECL=196,BLKSIZE=1960)',       -
                         C'UNIT=SYSDA',                           -
                         F'-1',                                   -
                         C'UNALLOC',                              -
                         C" DSN=&LDSN")) PNODE
*
 IF (MBA$CREL > 0) THEN
   RUN TASK (PGM=DMIONOTE,                                        -
             PARM=(ADD, FAIL, "&FROMDSN", &RMTID, "&BATCHID2",    -
                   MBA$CREL, &NOTIFY)) PNODE
/* GOTO MBA$DELP  */
   EXIT
 EIF
*
MBA$CRES RUN TASK (PGM=DMRTDYN                                    -
                   PARM=(C'ALLOC',                                -
                         C" DSN=&SDSN"                            -
                         C' DISP=(NEW,CATLG)',                    -
                         C' SPACE=(TRK,(1,1))',                   -
        C' DCB=(RECFM=FB,DSORG=PS,LRECL=196,BLKSIZE=1960)',       -
                         C'UNIT=SYSDA',                           -
                         F'-1',                                   -
                         C'UNALLOC',                              -
                         C" DSN=&SDSN")) PNODE
*
 IF (MBA$CRES > 0) THEN
   RUN TASK (PGM=DMIONOTE,                                        -
             PARM=(ADD, FAIL, "&FROMDSN",  &RMTID, "&BATCHID2",   -
                   MBA$CRES, &NOTIFY)) PNODE
/* GOTO MBA$DELP   */
   EXIT
 EIF
*
* EXECUTE THE ADD TO CONNECT:Enterprise RDX
*
MBA$STO0 RUN TASK (PGM=DMSTOUT0,                                  -
                   PARM=(C'ADD'                                   -
                         C"&PROFDSN"                              -
                         C'&PROFMEM'                              -
                         C"&IDSN"                                 -
                         C"&PDSN"                                 -
                         C"&ADSN"                                 -
                         C"&LDSN"                                 -
                         C'&SDSN'                                 -
                         C'&RMTID'                                -
                         C'&BATCHID2'                             -
                         C'&BATCHNO'                              -
                         C'&MBNAME'                               -
                         C'&LOCAPPL'                              -
                         C'&MBAPPL'                               -
                         C'&LOGMODE'                              -
                         C'&USERID'                               -
                         C'&PASSWRD'                              -
                         C'&BUFSIZE')) PNODE
*
  IF (MBA$STO0 > 4) THEN
RUN TASK (PGM=DMIONOTE,                                        -
          PARM=(ADD, FAIL, "&FROMDSN", &RMTID, "&BATCHID2",    -
                MBA$STO0, &NOTIFY)) PNODE
  ELSE
*
*
* NOTIFY ORIGINATOR OF SUCCESS
 RUN TASK (PGM=DMIONOTE,                                        -
           PARM=(ADD, GOOD, "&FROMDSN", &RMTID, "&BATCHID2",    -
                 MBA$STO0, &NOTIFY)) PNODE
  EIF
*
* DELETE TEMPORARY FILES
* ...