ETERNUS SF XL-DATA/MV 使用手引書
目次 索引 前ページ次ページ

第5章 UNIX/IAサーバ主導のデータ転送> 5.2 転送コマンドリファレンス

5.2.1 mftfsendコマンド

■構文

UNIXサーバ mftfsend       [-f clientfile [-d [-u] | -m [-u] | -p ]]   serverfile
IAサーバ mftfsend.exe   [-f clientfile [-d [-u] | -m [-u] | -p ]]   serverfile

■説明

クライアントシステム上の -f に続く clientfile で指定されたファイル、あるいは、標準入力からのデータをサーバに送信し、サーバシステム上の serverfile で指定されたファイル/データセットにデータを格納します。
UNIX/IAサーバシステムに対してデータを送信する場合、サーバシステム上の「利用者登録ファイル」に記述されているユーザ名のどれかと一致するユーザでデータ送信を行ってください。
上記に関する具体的な設定方法等については、データ転送用利用者登録を参照してください。
なお、本コマンドは以下のユーザが使用できます。

上記以外のユーザが使用した場合、”「Administrators」グループ所属のユーザではない”との理由でエラーになります。

また、差分ファイル転送機能を使用する場合は、管理者資格が必要なため以下の条件を満たす必要があります。

■オプション

-f clientfile

送信元ファイル名を絶対パスで指定します。
clientfile で指定するファイル名は、送信元クライアントシステムによって以下のように指定します。

クライアントシステム 規則
UNIX Solaris OS ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。
HP-UX ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。
AIX ASCIIコードで1022バイトまでのファイル名を絶対パスで指定します。
Linux ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。
IA ASCIIコードで260バイトまでのファイル名を絶対パスで指定します。

このオプションが省略された場合、標準入力からのデータを送信元データとします。
また、このオプションが複数指定された場合、最後に指定されたオプションが有効になります。

[V13]
-d [-u] | -m [-u] | -p

差分ファイル転送機能を使用する場合の転送オプションを指定します。

-d [-u]

-m [-u]

-p

なお、差分ファイル転送機能の説明については、差分ファイル転送機能を参照してください。

serverfile

送信先ファイル名/データセット名を指定します。
複数のファイル名/データセット名を指定することはできません。
送信先サーバシステム上に serverfile が存在しない場合、新しくファイルを作成します。
ただし、送信先サーバシステムがUNIX/IAサーバの場合には、ディレクトリも作成します。(UNIXサーバ側のセキュリティおよびパーミッションについては、ユーザ認証の「新規作成ファイルのパーミッションの設定」を参照)
また、 serverfile が存在する場合は上書きします。
serverfile で指定するファイル名は、サーバシステムによって以下のように指定します。

サーバシステム規則・備考
UNIX Solaris OS ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。
HP-UX ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。
AIX ASCIIコードで1022バイトまでのファイル名を絶対パスで指定します。
Linux ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。
IA ASCIIコードで260バイトまでのファイル名を絶対パスで指定します。
ファイル名(絶対パス)をシングルクォート('〜')または、ダブルクォート("〜")で囲んでください。
ネットワークドライブ配下のファイルに転送することはできません。
MSPまたはOS/390 ASCIIコードで44バイトまでの順データセット名を指定します。英小文字は指定できません。
カタログ登録されている順データセットが対象となります。
指定データセットが存在しない場合には、新規に順データセットを作成しカタログ登録されます。
XSP ASCIIコードで26バイトまでの順編成ファイル名を指定できます。英小文字は指定できません。
カタログ登録されている順編成ファイルが対象となります。
指定ファイルが存在しない場合には、新規に順編成ファイルを作成しカタログ登録されます。

■環境変数

このコマンドを使用する場合に、以下の環境変数を指定して送信に関する設定を行うことができます。

[サーバシステムがUNIX/IAサーバの場合]

環境変数名必 須概 要
MFTF_USERサーバシステム側のユーザ名
MFTF_DEVICEクライアントシステム側の中間キャラクタデバイス名
MFTF_CLLINECODE クライアントシステム側の区切り文字コード
MFTF_SVLINECODE サーバシステム側の区切り文字コード
MFTF_COMMAND フィルターコマンド

[サーバシステムがグローバルサーバまたはPRIMEFORCEの場合]

環境変数名必 須概 要
MFTF_USER サーバシステム側のユーザ名
MFTF_PASSWORD サーバシステム側のユーザのパスワード
MFTF_DEVICEクライアントシステム側の中間キャラクタデバイス名
MFTF_CLLINECODE クライアントシステム側の区切り文字コード
MFTF_VOLUME ボリューム通し番号
MFTF_RECORDFMT レコード形式
MFTF_RECORDLEN レコード長
MFTF_BLOCKSIZE ブロック長
MFTF_INITSPACE スペース初期量(ブロック数)
MFTF_GAINEDSPACE スペース増分量(ブロック数)
MFTF_RLSESPACE 未使用領域の解放

各環境変数について以下に詳しく説明します。

MFTF_USER

送信先サーバシステムでのユーザ名を指定します。
指定できるユーザ名はASCIIコードで127バイト以内の文字列です。
ここに指定するユーザ名は、送信先サーバシステムによって以下のように指定します。

サーバシステム規則
UNIXサーバシステムに登録されているユーザ名を指定します。
IA"WINDOWS"(両端の""は不要)と指定します。
グローバルサーバ
または
PRIMEFORCE
サーバシステム上でRACF運用を行っている場合、この環境変数が有効になります。その場合にはRACFに登録されているユーザ名を指定します。英小文字は指定できません。

MFTF_PASSWORD

MFTF_DEVICE

MFTF_CLLINECODE

入出力データのレコード(1行)を意識して転送する場合(テキスト転送)、 clientfile のレコード(1行)の終端を識別する区切り文字の文字コードを指定します。
この環境変数を指定すると、「区切り文字削除または変換機能」を使用した転送となります。

UNIX/IAサーバ
区切り文字変換機能を使用した転送となります。


グローバルサーバまたはPRIMEFORCE
区切り文字削除機能を使用した転送となります。

この環境変数が指定されていない場合は、送信元データをレコード(1行)を意識しないでサーバに転送(バイナリ転送)します。

指定できる文字コードはASCIIコードです。
区切り文字は1〜4バイトまで指定可能です。2バイト以上の文字コードを指定する場合には、文字コードを1バイトずつ複数指定してください。
複数の文字コードを指定する場合、各文字コードをUNIXサーバの場合は":"(コロン)、IAサーバの場合は";"(セミコロン)で区切ります。
MFTF_CLLINECODE環境変数 は以下の形式で文字コードを指定してください。


[0 [{x | X}]]character code[{:|;}...]

character codeは1文字のASCIIコードです。

ASCIIコードを16進数で指定する場合 最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、ASCIIコードを指定する。
ASCIIコードを8進数で指定する場合 最初の文字に'0'を指定してから、ASCIIコードを指定する。
ASCIIコードを10進数で指定する場合 最初からASCIIコードを指定する。

例) UNIX側で16進数の0dと0aを指定する場合
0x0d:0x0a

MFTF_SVLINECODE

入出力データのレコード(1行)を意識して転送する場合(テキスト転送)、 serverfile のレコード(1行)の終端を識別する区切り文字の文字コードを指定します。
MFTF_CLLINECODE環境変数が指定された場合は、この環境変数は指定する必要があります。
また、送信先サーバシステムがUNIX/IAサーバの場合に、この環境変数が有効となります。

指定できる文字コードはASCIIコードです。
区切り文字は1〜4バイトまで指定可能です。2バイト以上の文字コードを指定する場合には、文字コードを1バイトずつ複数指定してください。
複数の文字コードを指定する場合、各文字コードをUNIXサーバの場合は":"(コロン)、IAサーバの場合は";"(セミコロン)で区切ります。
MFTF_SVLINECODE環境変数は以下の形式で文字コードを指定してください。

[0 [{x | X}]]character code[{:|;}...]

character codeは1文字のASCIIコードです。

ASCIIコードを16進数で指定する場合 最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、ASCIIコードを指定する。
ASCIIコードを8進数で指定する場合 最初の文字に'0'を指定してから、ASCIIコードを指定する。
ASCIIコードを10進数で指定する場合 最初からASCIIコードを指定する。

例) UNIX側で16進数の0dと0aを指定する場合
0x0d:0x0a

MFTF_COMMAND

MFTF_VOLUME

MFTF_RECORDFMT

グローバルサーバまたはPRIMEFORCE上の serverfile に格納するデータのレコード形式を以下のどれかの文字列で指定します。

文字列 意味
FIXED_NONBLOCK 固定長非ブロック化レコード形式で格納します。
FIXED_BLOCK 固定長ブロック化レコード形式で格納します。
VARIABLE_NONBLOCK 可変長非ブロック化レコード形式で格納します。
VARIABLE_BLOCK 可変長ブロック化レコード形式で格納します。

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無 MFTF_RECORDFMT XLデータムーバの処理
serverfile が存在しない 省略 エラーとなります。
レコード形式を指定 指定されたレコード形式でデータを格納します。
serverfile が存在する 省略 既存のファイルのレコード形式でデータを格納します。
レコード形式を指定 指定されたレコード形式でデータを格納します。

MFTF_RECORDLEN

グローバルサーバまたはPRIMEFORCE上の serverfile のレコード長を指定します。
指定できるレコード長の範囲はMFTF_RECORDFMTに指定した値によって異なります。

MFTF_RECORDFMTレコード長の範囲
FIXED_NONBLOCK、FIXED_BLOCK1〜32760バイト
VARIABLE_NONBLOCK、VARIABLE_BLOCK5〜32756バイト

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無 MFTF_RECORDLEN XLデータムーバの処理
serverfile が存在しない 省略 エラーとなります。
レコード長を指定 指定されたレコード長でデータを格納します。
serverfile が存在する 省略 既存のファイルのレコード長でデータを格納します。
レコード長を指定 指定されたレコード長でデータを格納します。

MFTF_RECORDLEN環境変数は、以下の形式でレコード長を指定してください。

[0 [{x | X}]]Record Length

Record Lengthはレコード長を表す数値です。

レコード長を16進数で指定する場合 最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、レコード長を指定する。
レコード長を8進数で指定する場合 最初の文字に'0'を指定してから、レコード長を指定する。
レコード長を10進数で指定する場合 最初からレコード長を指定する。

MFTF_BLOCKSIZE

グローバルサーバまたはPRIMEFORCE上の serverfile のブロック長を指定します。
指定できるブロック長の範囲は1〜32760バイトです。
送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無 MFTF_BLOCKSIZE XLデータムーバの処理
serverfile が存在しない 省略 エラーとなります。
ブロック長を指定 指定されたブロック長でデータを格納します。
serverfile が存在する 省略 既存のファイルのブロック長でデータを格納します。
ブロック長を指定 指定されたブロック長でデータを格納します。

また、指定するブロック長は、以下の条件を満足している必要があります。なお、ブロック化できる場合は、直接アクセス記憶装置の入出力性能やスペース効率から、23400バイトに近いブロック長を推奨します。

固定長非ブロック化レコード形式
(MFTF_RECORDFMT= FIXED_NONBLOCK)
ブロック長には、レコード長を指定してください。
固定長ブロック化レコード形式
(MFTF_RECORDFMT= FIXED_BLOCK)
ブロック長には、レコード長の整数倍の値を指定してください。
可変長非ブロック化レコード形式
(MFTF_RECORDFMT= VARIABLE_NONBLOCK)
ブロック長には、レコード長+4より大きい値を指定してください。
可変長ブロック化レコード形式
(MFTF_RECORDFMT= VARIABLE_BLOCK)
ブロック長には、レコード長+4より大きい値を指定してください。

MFTF_BLOCKSIZE環境変数は以下の形式でブロック長を指定してください。

[0 [{x | X}]]Block Size

Block Sizeはブロック長を表す数値です。

ブロック長を16進数で指定する場合 最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、ブロック長を指定する。
ブロック長を8進数で指定する場合 最初の文字に'0'を指定してから、ブロック長を指定する。
ブロック長を10進数で指定する場合 最初からブロック長を指定する。

MFTF_INITSPACE

グローバルサーバまたはPRIMEFORCE上の serverfile にデータを格納する際に割り当てるスペース初期量(ブロック数)を指定します。
指定できるスペース初期量の範囲は以下のとおりです。

サーバシステムスペース初期量の範囲
MSP 1 〜 16777215
XSP 1 〜 16777215
OS/3901 〜 16777215

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfile の有無 MFTF_INITSPACE XLデータムーバの処理
serverfile が存在しない 省略 エラーとなります。
スペース初期量を指定 指定されたスペース初期量でスペースを割り当てます。
serverfile が存在する 省略 既存のファイルのスペース初期量でスペースを割り当てます。
スペース初期量を指定

MFTF_INITSPACE環境変数は以下の形式でスペース初期量を指定してください。

[0 [{x | X}]]Initial Space

Initial Spaceはスペース初期量を表す数値です。

スペース初期量を16進数で指定する場合 最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、スペース初期量を指定する。
スペース初期量を8進数で指定する場合 最初の文字に'0'を指定してから、スペース初期量を指定する。
スペース初期量を10進数で指定する場合 最初からスペース初期量を指定する。

MFTF_GAINEDSPACE

グローバルサーバまたはPRIMEFORCE上の serverfile に割り当てるスペース増分量(ブロック数)を指定します。
指定できるスペース増分量の範囲は以下のとおりです。

サーバシステムスペース増分量の範囲
MSP 1 〜 16777215
XSP 1 〜 16777215
OS/3901 〜 16777215

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無 MFTF_GAINEDSPACE XLデータムーバの処理
serverfile が存在しない 省略 スペースの増分を行いません。
スペース増分量を指定 指定されたスペース増分量でスペースを追加します。
serverfile が存在する 省略 既存のファイルのスペース増分量でスペースを追加します。
スペース増分量を指定

MFTF_GAINEDSPACE環境変数は以下の形式でスペース増分量を指定してください。

[0 [{x | X}]]Gained Space

Gained Spaceはスペース増分量を表す数値です。

スペース増分量を16進数で指定する場合 最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、スペース増分量を指定する。
スペース増分量を8進数で指定する場合 最初の文字に'0'を指定してから、スペース増分量を指定する。
スペース増分量を10進数で指定する場合 最初からスペース増分量を指定する。

MFTF_RLSESPACE

グローバルサーバまたはPRIMEFORCE上の serverfile を閉じる際に未使用領域を解放するかどうかを以下のどちらかの文字列で指定します。

文字列 意味
SPACE_NOTRELEASE 未使用領域を解放しません。
SPACE_RELEASE 未使用領域を解放します。

この環境変数が省略された場合、XLデータムーバは未使用領域を解放しません。
なお、サーバシステムがMSPまたはOS/390で、SPACE_RELEASEを指定した状態で多重度2以上のデータ転送を行った場合、サーバシステム(MSPまたはOS/390)が未使用領域を解放しない場合があります。転送元ファイルのデータサイズおよびMFTF_BLOCKSIZEで示す格納先ファイル/データセットのブロック長を熟慮した上、MFTF_INITSPACE/MFTF_GAINEDSPACEで示すスペース初期量/スペース増分量を適切に設定してください。

■復帰値

復帰値は、以下の値を返します。

データ転送の結果内容 復帰値
データ転送が正常終了した。 0
-d[-u]オプションおよび、-m[-u]オプションを指定した時、最終更新日時の条件によりデータ転送処理が行われなかった。 1
-d[-u]オプション、または-pオプション、または-m[-u]オプションを指定した時、システムエラーにより、データ転送は正常に終了したがファイル情報/ディレクトリ情報の更新ができなかった。 2
データ転送が異常終了した。 -1

フィルターコマンドでエラー(フィルターコマンドの復帰コードが0以外)が発生した場合、「フィルターコマンド復帰コード変換ファイル」の解析結果によって、以下の値を返し、メッセージを標準エラー出力に出力します。「フィルターコマンド復帰コード変換ファイル」の詳細については、フィルターコマンド復帰コード変換ファイルの作成を参照してください。

フィルターコマンド復帰コード変換ファイルの解析結果 復帰値
フィルターコマンド復帰コード変換ファイルが存在しない フィルターコマンドの復帰コード
フィルターコマンド復帰コード変換ファイル内に該当する情報がない
フィルターコマンドの復帰コードがNORMALに該当する 0
フィルターコマンドの復帰コードがWARNINGに該当する フィルターコマンド復帰コード変換ファイル内の「WARNING」に指定した値
フィルターコマンドの復帰コードがERRORに該当する -1 (UNIXサーバの場合 = 255)

それ以外の場合は-1 (UNIXサーバの場合 = 255) を返し、メッセージを標準エラー出力に出力します。

注意


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007