3.1.3 ファイル情報を定義する
ファイル情報の定義では,ファイル伝送でやり取りするファイルの情報(実ファイル名,伝送ファイル名,ファイルアクセスキーなど)を定義します。ファイル情報の定義には,remote_file_define文を使用します。
remote_file_define文には,次のオペランドがあります。
各オペランドについて説明します。
- 〈この項の構成〉
(1) ファイルラベル名
ファイル伝送でやり取りするファイル情報のラベル名を設定します。ファイルラベル名は重複しないように設定してください。同じ名称のファイル情報は複数定義できません。
なお,JP1/全銀TCPでは,ここで設定するファイルラベル名を指定してファイル伝送を実行します。
オペランド:label
引数1:ファイルラベル名(1〜32バイトの文字列)
- 指定例:
-
ファイルラベル名として"remotefile1"を指定する場合
label remotefile1
(2) 起動UAP名
ファイルの伝送が完了したときに起動させるプログラム,およびそのプログラムに渡す引数を指定します。プログラムに渡す引数は,定義文の引数2以降に指定するUAP起動オプションに従って組み立てられます。UAP起動オプションは,最大25個の起動オプションを指定できます。
- 注意事項
-
"UAPパス文字数 + キーワードを変換した文字数 + キーワード数"が1,021バイトを超える場合,UAPは起動されません。
オペランド:exec
引数1:UAPパス(1〜255バイトの文字列)
- 引数2…:UAP起動オプションのキーワード(最大25個)
- 指定例:
-
伝送終了時に/tmp/UAP1を起動させ,引数として相手局ラベルと終了状態を渡す場合
exec /tmp/UAP1 REMOTELBL RRTN
(3) ファイル送受信モード
送信用のファイル情報であるか,受信用のファイル情報であるかを指定します。送信用ファイルの定義であれば"snd"または"SND"を,受信用ファイルの定義であれば"rcv"または"RCV"を指定してください。
オペランド:mode
- 引数1:
-
-
送信用ファイルの場合{ snd | SND }
-
受信用ファイルの場合{ rcv | RCV }
-
- 指定例:
-
相手局への送信用ファイルとして定義する場合
mode snd
(4) 受信ファイル書き込みモード
ファイルを受信したときの書き込みモードを指定します。受信データをファイルの最後に追加したい場合は"a"または"A"を,ファイルの最初から上書きしたい場合は"w"または"W"を指定してください。
オペランド:file_mode
- 引数1:
-
-
ファイルの最後に追加する場合:{ a | A }
-
ファイルの最初から上書きする場合:{ w | W }
-
- 指定例:
-
受信データをファイルの最後に追加する場合
file_mode a
(5) 実ファイル名
実ファイル名をフルパスで指定します。実ファイル名の指定方法は,ファイルをサイクル管理する場合と,しない場合とで異なります。
(a) ファイルをサイクル管理しない場合
実ファイル名のフルパスを1〜255バイトの文字列で指定します。
オペランド:real_file_name
引数1:実ファイル名(1〜255バイトの文字列)
(b) ファイルをサイクル管理する場合
引数1に実ファイル名のフルパスを指定します。引数2に"n"または"N"を指定した場合,または引数2を指定しない場合は,引数1で指定したファイル名を実ファイル名として扱います。引数2に"a"または"A"を指定した場合は,引数1で指定したファイル名にサイクル番号(01〜99)を付けたものを実ファイル名として扱います。引数2に"n"または"N"を指定した場合,または引数2を指定しない場合は,引数1に最大255バイトの文字列を指定できます。引数2に"a"または"A"を指定した場合,引数1には最大253バイトの文字列を指定できます。
オペランド:real_file_name
- 引数1:実ファイル名
-
(引数2で"n"または"N"を指定した場合,または引数2を指定しない場合:1〜255バイトの文字列,引数2で"a"または"A"を指定した場合:1〜253バイトの文字列)
引数2:{ n | a | N | A }
- 指定例:
-
/tmp/sendfile1を伝送する場合
real_file_name /tmp/sendfile1
(6) 二重伝送チェック
二次局としてのファイル伝送で,二重伝送のチェックをするかどうかについて指定します。二重伝送をチェックする場合は"true"または"TRUE"を,しない場合は"false"または"FALSE"を指定してください。なお,ファイルをサイクル管理する場合は本オペランドの指定に関わらず,二重伝送をチェックします。
オペランド:duplicate_check
- 引数1:
-
-
二重伝送チェックをする場合:{ true | TRUE }
-
二重伝送チェックをしない場合:{ false | FALSE }
-
- 指定例:
-
二重伝送チェックをしない場合
duplicate_check false
(7) 伝送ファイル名
伝送ファイル名を設定します。ここに設定した伝送ファイル名を相手局との通信時に使用します。伝送ファイル名の設定方法は,ファイルをサイクル管理する場合と,しない場合とで異なります。
(a) ファイルをサイクル管理しない場合
伝送ファイル名を設定します。12バイトの文字列または24桁の16進数で設定してください。伝送ファイル名を文字列で設定した場合,設定した文字列はEBCDICコードに変換後,伝送ファイル名として使用します。
オペランド:trans_file_name
引数1:伝送ファイル名(12バイトの文字列または16進数24桁)
- 指定例:
-
伝送ファイル名として16進数で"353032303030303130313031"を指定する場合
trans_file_name 0x353032303030303130313031
(b) ファイルをサイクル管理する場合
伝送ファイル名を設定します。ファイル名を8バイトの文字列または16桁の16進数で設定し,そのあとにサイクル番号をカウントアップする上限値(1〜99)を設定してください。伝送ファイル名を文字列で設定した場合,設定した文字列はEBCDICコードに変換後,伝送ファイル名として使用します。
オペランド:trans_file_name
引数1:伝送ファイル名(8バイトの文字列または16進数16桁)
引数2:サイクル番号カウントアップの上限値(10進数で1〜99の数値)
- 指定例:
-
伝送ファイル名として文字列で"50200001",サイクル番号のカウントアップ上限値を"99"とする場合
trans_file_name 50200001 99
- 注意事項
-
「3.1.4 関係情報を定義する」で説明する関係情報の定義で,1つの相手局に同じファイル送受信モードのファイル情報ラベルを指定する場合,それぞれのファイル情報定義で指定した伝送ファイル名が一致していると,伝送定義の登録に失敗します。サイクル管理をしない場合は,12バイトの文字列または24桁の16進数で伝送ファイル名をチェックします。サイクル管理をする場合は,文字列の先頭8バイトまたは16進数の先頭16桁で伝送ファイル名をチェックします。
(8) ファイルアクセスキー
ファイルアクセスキーを設定します。6バイトの文字列または12桁の16進数で指定します。ファイルアクセスキーを文字列で指定した場合,指定した文字列はEBCDICコードに変換後,ファイルアクセスキーとして使用します。
オペランド:accesskey
引数1:開始要求アクセスキー(6バイトの文字列または16進数12桁)
引数2:開始回答アクセスキー(6バイトの文字列または16進数12桁)
引数3:終了要求アクセスキー(6バイトの文字列または16進数12桁)
引数4:終了回答アクセスキー(6バイトの文字列または16進数12桁)
引数5:再送要求アクセスキー(6バイトの文字列または16進数12桁)
- 補足事項
-
引数1(開始要求アクセスキー)だけを指定すると,開始要求アクセスキー,開始回答アクセスキー,終了要求アクセスキー,終了回答アクセスキー,再送要求アクセスキーの5つすべてに対して共通のファイルアクセスキーが設定されます。
- 指定例:
-
すべて共通で"111101"というアクセスキーを使用する場合
accesskey 111101
(9) ファイルレコード形式
ファイルレコード形式を指定します。固定長形式の場合は"fix"または"FIX"を,可変長形式の場合は"flex"または"FLEX"を指定してください。なお,ファイルレコード形式を固定長とした場合は,必ずレコード長を指定してください。
オペランド:record_type
- 引数1:
-
-
固定長形式を指定する場合:{ fix | FIX }
-
可変長形式を指定する場合:{ flex | FLEX }
-
- 指定例:
-
ファイルのレコード形式を固定長とする場合
record_type fix
(10) レコード長
ファイルレコード形式で固定長を指定している場合は,ファイルのレコード長を指定します。レコード長は,全銀協手順(TCP/IP)の拡張仕様である拡張Z手順を使用すると,32,767バイトまで拡大できます。レコード長の指定方法は,拡張Z手順を使用する場合と,使用しない場合で異なります。なお,ファイルレコード形式で可変長ファイルを指定している場合は無効になります。
(a) 拡張Z手順を使用する場合
ファイルのレコード長を指定します。1〜32,767の値で任意の数値(10進数)を指定してください。
オペランド:record_len
引数1:レコード長(10進数で1〜32,767の数値)
- 指定例:
-
レコード長として32,767を指定する場合
record_len 32767
(b) 拡張Z手順を使用しない場合
ファイルのレコード長を指定します。1〜2,043の値で任意の数値(10進数)を指定してください。
オペランド:record_len
引数1:レコード長(10進数で1〜2,043の数値)
- 指定例:
-
レコード長として2,043を指定する場合
record_len 2043
(11) 最大伝送テキスト長
最大伝送テキスト長を指定します。最大伝送テキスト長は,全銀協手順(TCP/IP)の拡張仕様である拡張Z手順を使用すると,43,700バイトまで拡大できます。最大伝送テキスト長の指定方法は,拡張Z手順を使用する場合と,使用しない場合で異なります。最大伝送テキスト長は,「TTC(伝送テキストコントロール部)+情報部の長さ」です。
(a) 拡張Z手順を使用する場合
最大伝送テキスト長を指定します。7〜43,700の値で任意の数値(10進数)を指定してください。なお,ファイルレコード形式として固定長を指定している場合,圧縮しないで伝送するときは7〜43,700,圧縮して伝送するときは10〜43,700の値で指定してください。一方,ファイルレコード形式として可変長を指定している場合,圧縮しないで伝送するときは8〜43,700,圧縮して伝送するときは12〜43,700の値で指定してください。
オペランド:max_text_len
引数1:最大伝送テキスト長(10進数で7〜43,700の数値)
- 指定例:
-
最大伝送テキスト長として"43,700"を指定する場合
max_text_len 43700
(b) 拡張Z手順を使用しない場合
最大伝送テキスト長(全銀協手順(TCP/IP)で定義する伝送テキストの最大長)を指定します。7〜2,048の値で任意の数値(10進数)を指定してください。なお,ファイルレコード形式として固定長を指定している場合,圧縮しないで伝送するときは7〜2,048,圧縮して伝送するときは10〜2,048の値で指定してください。一方,ファイルレコード形式として可変長を指定している場合,圧縮しないで伝送するときは8〜2,048,圧縮して伝送するときは12〜2,048の値で指定してください。
オペランド:max_text_len
引数1:最大伝送テキスト長(10進数で7〜2,048の数値)
- 指定例:
-
最大伝送テキスト長として"2,048"を指定する場合
max_text_len 2048
(12) 圧縮モード
圧縮モードを指定します。ファイルを圧縮して伝送する場合は"true"または"TRUE"を,圧縮しないで伝送する場合は"false"または"FALSE"を指定してください。なお,このオペランドは一次局としてのファイル伝送の場合に有効になります。二次局としてのファイル伝送では,相手局の指示に従って圧縮(送信),拡張(受信)します。
オペランド:cmp_mode
- 引数1:
-
-
圧縮して伝送する場合:{ true | TRUE }
-
圧縮しないで伝送する場合:{ false | FALSE }
-
- 指定例:
-
ファイルを圧縮して伝送する場合
cmp_mode true
(13) ファイル名補助情報
パソコン手順を使用している場合は,必要に応じてファイル名補助情報を指定します。ファイル名補助情報を指定した場合,この文字列に対して伝送ファイル名と同様のチェックがされます。17バイトの文字列または16進数34桁で指定してください。
オペランド:sub_trans_file_name
引数1:ファイル名補助情報(17バイトの文字列または16進数34桁)
- 指定例:
-
ファイル名補助情報として"abcdeabcdeabcdeab"を指定する場合
sub_trans_file_name abcdeabcdeabcdeab
(14) レコード分割方法
ファイルレコード形式で可変長を指定している場合の,レコード分割方法を指定します。レコード分割には2つの方法があります。なお,レコード分割方法を指定しない場合は,"0x0a n"を仮定して動作します。
(a) 区切り文字による分割をする場合
区切り文字までを1レコードとしてファイル伝送を実行します。引数1に2桁の16進数で指定し,引数2には伝送時の区切り文字の扱いについて指定してください。引数2に"r"または"R"を指定した場合,送信時は区切り文字を除いて送信し,受信時には区切り文字が付けられてファイルに書き出されます。引数2に"n"または"N"を指定した場合,送信時は区切り文字を付けたまま送信し,受信時には受け取ったテキストがそのままファイルに書き出されます。
オペランド:divide
引数1:区切り文字
- 引数2:
-
-
区切り文字を除いて送信する場合:{ r | R }
-
区切り文字を付けたまま送信する場合:{ n | N }
-
- 指定例:
-
区切り文字として改行コード"0x0a"を使用し,送信時に区切り文字を除いて送信する場合
divide 0x0a r
(b) 自動算出による分割をする場合
「(最大テキスト長−8)÷4×3−2」の値を1レコードとしてファイル伝送を実行します。自動算出は,最大伝送テキスト長が12バイト以上の場合に使用できます。引数1に"auto"または"AUTO"を指定し,引数2には必ず"n"または"N"を指定してください。
オペランド:divide
引数1:{ auto | AUTO }
引数2:{ n | N }
- 指定例:
-
レコード範囲を自動算出する場合
divide auto n
(15) 0件ファイルの扱い
0件ファイル(ファイルが存在しない,またはファイルサイズが0バイトのファイル)の扱いについて指定します。引数1に"ok"または"OK"を指定した場合は,0件ファイルを正常として扱います(OK指定)。引数1に"ng"または"NG"を指定した場合は,0件ファイルをエラーとして扱います(NG指定)。0件ファイルの扱いについて指定しない場合は,"nullfile ok"を仮定して動作します。
オペランド:nullfile
- 引数1:
-
-
OK指定の場合:{ ok | OK }
-
NG指定の場合:{ ng | NG }
-
- 指定例:
-
0件ファイルをエラーとする場合(NG指定)
nullfile ng
(16) 再送電文送信モード
ファイル伝送でデータを受信する際に異常が発生した場合の,再送データの受信方法を指定します。ファイル伝送の再開時,ファイルの先頭から受信し直す場合は"all"または"ALL"を,受信済みのテキスト以降から受信する場合は"next"または"NEXT"を指定してください。なお,パソコン手順によるファイル伝送の場合は,ファイルの先頭からの再受信となります。このオペランドは,伝送ファイルを受信するときだけ有効になります。このオペランドを省略した場合,ファイル伝送の再開時,再送要求電文は送信しません。開始要求電文を送信します。
オペランド:resend_mode
- 引数1:
-
-
ファイルの先頭から受信する場合:{ all | ALL }
-
受信済みテキスト以降から受信する場合:{ next | NEXT }
-
- 指定例:
-
受信済みのテキスト以降から再送を開始する場合
resend_mode next
- 補足事項
-
受信済みのテキスト以降からの再送を指定した場合,受信ファイルの書き込みモードが上書きモードのときは,再送ファイルの受信時に自動的に追加書きモードに変更されてファイルが書き込まれます。