NDM



This document describes a few useful hints about NDM Step, which can be used for sending some file from one mainframe region to another mainframe region as well as mainframe to Unix, using Network Data Mover.

Example:

The common job step will be as follows

//STEPNAME EXEC NDMBATCH
//DMPUBLIB DD DSN=G1SG00AT.OFFSHORE.PARMLIB,DISP=SHR
//SYSIN    DD *
  SIGNON * ESF=YES
  SUBMIT PROC=NDMPARMF CASE=YES
  SIGNOFF

DMPUBLIB specifies the library where the NDM parameter member will be searched for. The member G1SG00AT.OFFSHORE.PARMLIB(NDMPARMF) will contain NDM instructions that are to be executed.

·         Mainframe to mainframe file transfer:


GEAL2B22 PROCESS PNODE=GECC.2                              -
                 SNODE=SQADB01                              -
                 SNODEID=(applmgr,applmgr)
STEP1    COPY    FROM(PNODE DSN=G2SC00AP.SC26.ROYAL.BKUP(0) -
                 DISP=SHR)                                 -
                 TO(SNODE DSN=CD.D2B.R1C1GEAL.INDATA22(+1) -
                 DISP=NEW)

STEP2    IF (STEP1=0) THEN                                 -
                 RUN TASK (PGM=DMRTSUB                     -
                 PARM=('DSN=IC.D4J.CD.JCLLIB(P2BACCUM),    -
                 DISP=SHR',                                -
'COMP  GEAL',                             -                                                                                                                                                                                                                                      'DIVSN 22')) SNODE                        -
         EIF

·         Mainframe to Unix file transfer:


COPYFILE  PROCESS  SNODE=SQADB01                            -
                   PNODE=GECC.2                             -
                   SNODEID=(applmgr,applmgr)
STEP1     COPY     FROM(PNODE                               -
                   DSN=G1SG00AT.GECOM.ORACLE.OUT            -
                   DISP=SHR)                                -
                   TO(SNODE                                 -
                   DSN='/glfnqa01/appl/110/glc/11.0.28/data/gec_paris.dat'    -
                   DISP=rpl)

·         Run task on mainframe:


GEAL2B22 PROCESS PNODE=GECC.2                              -
                 SNODE=SQADB01                             -
                 SNODEID=(applmgr,applmgr)
STEP1    COPY    FROM(PNODE DSN=G2SC00AP.SC26.ROYAL.BKUP(0) -
                 DISP=SHR)                                 -
                 TO(SNODE DSN=CD.D2B.R1C1GEAL.INDATA22(+1) -
                 DISP=NEW)

STEP2    IF (STEP1=0) THEN                                  -
                 RUN TASK (PGM=DMRTSUB                      -
                 PARM=('DSN=IC.D4J.CD.JCLLIB(P2BACCUM),    -
                 DISP=SHR',                                -
'COMP  GEAL',                             -                                                                                                                                                                                                                                      'DIVSN 22')) SNODE                         -
         EIF


·         Run shell script on Unix


COPYFILE  PROCESS  SNODE=SQADB01                            -
                   PNODE=GECC.2                             -
                   SNODEID=(applmgr,applmgr)
STEP1     RUN TASK SNODE (PGM=UNIX)                         -
                   SYSOPTS = "/opt/appworx/shell_script.sh"

·         Run an AppWorx module in Unix if copy step is successful


COPYFILE PROCESS SNODE=SQADB01                                        -
                 PNODE=GECC.2                                         -
                 SNODEID=(appworx,appworx)
STEP1    COPY    FROM(PNODE                                           -
                 DSN=G1SG00AT.GECOM.ORACLE.OUT                        -
                 DISP=SHR)                                            -
                 TO(SNODE                                             -
                 DSN='/opt/appworx/bin/kc_test.dat'                   -
                 DISP=rpl)
         IF (STEP1=0) THEN
STEP2            RUN TASK SNODE (PGM=UNIX)                            -
                 SYSOPTS = "/opt/appworx/bin/module_test.sh KC_TEST"
         EIF




Important note:

The source file might be created within the same job in which NDM step is executed or some other job also can create this source file. In case it is a GDG, then precaution has to be taken while coding the GDG version.

Even if the GDG is getting created within the same job in which NDM step is executed, then also to refer to the current version of GDG (say the GDG version which is to be sent by NDM) within NDM step (here within INPUT file), version(0) is to be used and not version(+1).

Similarly if GDG is created within NDM step (+1), then also to refer to that GDG in later steps in the same JCL, we will be referring to the (0) version of the GDG.

This is because the NDM step can be treated as a different job although it is syntactically within the same job.



Comments

Post a Comment

Popular posts from this blog

Date/time constants in JCL

JCL ABeND --