我正在使用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;
非常感谢任何帮助!
答案 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