Hitachi

JP1 Version 11 JP1/File Transmission Server -全銀TCP


3.1.3 ファイル情報を定義する

ファイル情報の定義では,ファイル伝送でやり取りするファイルの情報(実ファイル名,伝送ファイル名,ファイルアクセスキーなど)を定義します。ファイル情報の定義には,remote_file_define文を使用します。

remote_file_define文には,次のオペランドがあります。

表3‒5 ファイル情報(remote_file_define)のオペランド

定義内容

オペランド

設定の条件

ファイルラベル名

label

必須

起動UAP名

exec

任意

ファイル送受信モード

mode

必須

受信ファイル書き込みモード

file_mode

受信用ファイルの場合は必須

実ファイル名

real_file_name

必須

二重伝送チェック

duplicate_check

必須

伝送ファイル名

trans_file_name

必須

ファイルアクセスキー

accesskey

必須

ファイルレコード形式

record_type

必須

レコード長

record_len

固定長ファイルの場合は必須

最大伝送テキスト長

max_text_len

必須

圧縮モード

cmp_mode

必須

ファイル名補助情報

sub_trans_file_name

任意

レコード分割方法

divide

任意

0件ファイルの扱い

nullfile

任意

再送電文送信モード

resend_mode

任意

各オペランドについて説明します。

〈この項の構成〉

(1) ファイルラベル名

ファイル伝送でやり取りするファイル情報のラベル名を設定します。ファイルラベル名は重複しないように設定してください。同じ名称のファイル情報は複数定義できません。

なお,JP1/全銀TCPでは,ここで設定するファイルラベル名を指定してファイル伝送を実行します。

オペランドlabel

引数1ファイルラベル名(1〜32バイトの文字列)

指定例:

ファイルラベル名として"remotefile1"を指定する場合

label remotefile1

(2) 起動UAP名

ファイルの伝送が完了したときに起動させるプログラム,およびそのプログラムに渡す引数を指定します。プログラムに渡す引数は,定義文の引数2以降に指定するUAP起動オプションに従って組み立てられます。UAP起動オプションは,最大25個の起動オプションを指定できます。

注意事項

"UAPパス文字数 + キーワードを変換した文字数 + キーワード数"が1,021バイトを超える場合,UAPは起動されません。

オペランドexec

引数1UAPパス(1〜255バイトの文字列)

引数2…:UAP起動オプションのキーワード(最大25個)
表3‒6 UAP起動オプションのキーワードと出力形式(ファイル情報定義)

項目

キーワード

出力形式

相手局ラベル名

REMOTELBL

文字列

局種別

STATION

1:一次局

2:二次局

伝送形態

TRNMODE

1:送信

2:受信

レコード長

RECLEN

数字の文字列

通番

REQNO

9桁の数字を表す文字列

終了状態

RRTN

0:正常終了

0以外:異常終了

伝送ファイル名

FILE

文字列※1

ファイル情報ラベル

FILELBL

文字列

相手センタ確認コード

RCNTCODE

文字列※2

当方センタ確認コード

HCNTCODE

文字列※2

開局要求パスワード

OREQPW

文字列※2

開局回答パスワード

ORSPPW

文字列※2

閉局要求パスワード

CREQPW

文字列※2

閉局回答パスワード

CRSPPW

文字列※2

モード変更要求パスワード

MREQPW

文字列※2

モード変更回答パスワード

MRSPPW

文字列※2

相手局のIPアドレスまたは相手ホスト名

IPADDR

文字列※2

サイクル番号

CYCLE※3

2桁の数字を示す文字列

実ファイル名

REALFILE

文字列

伝送開始時間

STARTTIME

文字列(YYYY/MM/DD hh:mm:ss)※4

伝送終了時間

STOPTIME

文字列(YYYY/MM/DD hh:mm:ss)※4

注※1

ファイル情報の定義で指定した形式の文字列で出力されます。

注※2

相手局情報の定義で指定した形式の文字列で出力されます。

注※3

ファイルをサイクル管理している場合に限り指定できます。

注※4

プログラムには,「YYYY/MM/DD」と「hh:mm:ss」の2つの引数が渡されます。

指定例:

伝送終了時に/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
補足事項

受信済みのテキスト以降からの再送を指定した場合,受信ファイルの書き込みモードが上書きモードのときは,再送ファイルの受信時に自動的に追加書きモードに変更されてファイルが書き込まれます。