这是我的 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主机端无能为力。如何更改脚本以将文件作为可变长度记录发送?
PS:我已经阅读了与该主题相关的所有主题。在过去的 3 个月中,我尝试了近 100 次更改。没有什么对我真正有用。