我可以将参数传递给CDP(直接连接)文件吗?

时间:2014-07-23 17:45:01

标签: batch-file batch-processing mainframe

我正在使用Connect Direct将一些数据从DAT文件传输到Mainframe。我希望能够根据传递给CDP文件的参数指定我们从哪个环境中提取,而不必创建从每个环境中提取的CDP。现在我的CDP文件看起来像这样:

/*BEGIN_REQUESTER_COMMENTS 
    $PNODE$="NT.STUFFHERE.P" $PNODE_OS$="Windows NT" 
    $SNODE$="CD2.SOMETHING" $SNODE_OS$="MVS" 
    $OPTIONS$="" 
  END_REQUESTER_COMMENTS*/

    URSOUT PROCESS 
    SNODE=CD2.SOMETHING
    CLASS=1
    PRTY=10
    RETAIN=No
    HOLD=No
    SNODEID=(S2243CD,S2243CD)

    STEP01 COPY 
    FROM (
        FILE=\\**[Dev server alias]**\mis_shr\MIS\data\upload\urs_feed_sort.dat
    )
    TO (
        FILE=[Mainframe address]
    DISP=(RPL,KEEP,DELETE)
    DCB=(BLKSIZE=6800,DSORG=ps,LRECL=680,RECFM=fb)
        SPACE=(CYL,(052,020),RLSE)
       )

    STEP02 IF (STEP01 GT 4) THEN

    EXIT 

EIF 


PEND 

此CDP文件由包含以下内容的BAT文件调用:

submit file=d:\bond_cd\FB\cdp\FB_URS_prem_feed_out.cdp
quit;

我真正希望能够根据某些参数更改[Dev服务器别名]。我想将这个相同的CDP文件用于我的不同DEV和TEST环境。我该怎么做?我知道我必须创建某种$ env变量,然后根据此参数将其设置为某些字符串。我不确定这是否可行。

当我调用CDP文件时可能是这样的:

submit file=d:\bnd\FB\cdp\FB_URS_prem_feed_out.cdp DEV
quit;

submit file=d:\bond_cd\FB\cdp\FB_URS_prem_feed_out.cdp TEST
quit;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

使用您的应用程序动态创建yyy.txt文件。在yyy.txt文件中,添加如下参数:

提交文件= C:\ xxx \ xxx.cdp NEWNAME = xxxxx PNode = xxx2& Fname = xxxx.dat& Directory = xxx& Snode = xxx& env = qa maxdelay = unlimited; select process; quit ;

在bat文件中,运行yyy.txt:

cd C:\ Program Files \ Sterling Commerce \ Connect Direct v4.4.00 \ Common Utilities \ direct.exe -fd:/apps/xxx/xxx/xxx.bin< C:/xxx/yyy.txt