这是我的NDM脚本:
#!/bin/bash -x
#/cdunix/ndm/bin/ndmcli -x -e 4 << _EOF_
#sub maxdelay=unlimited statemnt process snode=$DEST_NODE
export NDMAPICFG=/home/drone/ndmscripts/ndmapi.cfg
NDM_FILE=$1
DEST_FILE=`basename $1`
DEST_NODE=AAA
/cdunix/ndm/bin/ndmcli -x -e 4 << _EOF_
sub maxdelay=unlimited testcopy process snode=$DEST_NODE snodeid=(BBB,123)
setop01 copy from (
SYSOPTS=":DATATYPE=BINARY:XLATE=NO:STRIP.BLANKS=NO:"
file=$NDM_FILE
pnode
)
COMPRESS EXTENDED
to (
DSN=$DEST_FILE(+1)
UNIT=(BATCH,2)
SPACE=(CYL,(500,500),RLSE)
DCB=(RECFM=VB,LRECL=726,BLKSIZE=0)
snode
)
pend;
_EOF_我在这里将LRECL设为1004,因为最大记录长度为1000。我已经将RECFM指定为VB来表示这是一个可变的块记录。但是仍然在unix大型机上,他们接收文件的固定长度为1000。我的前3张唱片是132,32,1000的。它用前2条记录(164条)和第三条记录的836位置的第一行填充到第一行,并将第三条记录的提醒放进第二行,等等。所以,我在unix大型机上得到了一个不匹配的位置。我只能在unix上修改。但在客户端unix大型机端却无能为力。如何更改脚本以将文件作为可变长度记录发送?
P.S :我已经阅读了所有与这个主题相关的文章。在过去的3个月里,我已经尝试了近100种变化。没什么对我有用的。
发布于 2017-01-16 06:37:19
奇怪..。我对SYSOPTS=":DATATYPE=VB:",做了很多尝试,但都没有效果。然后,我尝试了RECFM作为VB,而不是VBM (由IBM指定)和LRECL作为1004 (我的报告的默认值),而不是726 (实际最大记录长度),它工作。
这是我的NDM脚本:
#!/bin/bash -x
#/cdunix/ndm/bin/ndmcli -x -e 4 << _EOF_
#sub maxdelay=unlimited statemnt process snode=$DEST_NODE
export NDMAPICFG=/home/drone/ndmscripts/ndmapi.cfg
NDM_FILE=$1
DEST_FILE=`basename $1`
DEST_NODE=XXX
/cdunix/ndm/bin/ndmcli -x -e 4 << _EOF_
sub maxdelay=unlimited testcopy process snode=$DEST_NODE snodeid=(AAA,123)
setop01 copy from (
SYSOPTS=":DATATYPE=VB:XLATE=NO:STRIP.BLANKS=NO:"
file=$NDM_FILE
pnode
)
COMPRESS EXTENDED
to (
DSN=$DEST_FILE(+1)
UNIT=(BATCH,2)
SPACE=(CYL,(500,500),RLSE)
DCB=(RECFM=VB,LRECL=1004,BLKSIZE=0)
snode
)
pend;
_EOF_这很奇怪,因为以前它抛出了错误,比如“数据类型不是VB”。但现在它接受了datatype=VB后,改变了RECFM和LREL。
发布于 2017-01-14 15:12:09
你试过以下几种方法:
setop01 copy from (
SYSOPTS=":DATATYPE=VB:"
file=$NDM_FILE
pnode
)发布于 2017-01-12 22:58:45
你必须使用FB并设置一个块大小。
您的VB记录格式实际上工作正常,这就是它填充不同行的原因。
正如@ earlier所暗示的,如果您指示块、recfm、cyclinders,而不是运行在大型机()(如HFS或zFS )上的z/OS文件结构,就会将其发送到z/OS数据集结构。
我们体验到,当将BIN补丁和PTFS上传到z/OS数据集文件结构时,这是我们的店。如果我们采用默认值,它就会变得一团糟,无法读懂。
我们必须使用如下所示的FTP:
set pri=20
set sec=20
set proddataset=IPP.PROD
set dsntype=cylinders
set recfm=fb
set lrecl=27998
set blksize=27998
set volume=PPINS2
echo quote site pri=%pri% sec=%sec% %dsntype% recfm=%recfm% lrecl=%lrecl% blksize=%blksize% volume=%volume%https://stackoverflow.com/questions/41566811
复制相似问题