スクリプトを利用してファイル転送を実行するためのオブジェクトです。
メソッド名 | 機能 |
---|---|
Cancel | ファイル転送の中断 |
GetFileData | 送受信ファイルを取得 |
GetParam | 転送パラメータの取得 |
GetStatus | ファイル転送状態の問い合わせ |
Recv | ファイル受信 |
RecvFile | ファイル受信 |
SetParam | 転送パラメータの設定 |
Send | ファイル送信 |
SendFile | ファイル送信 |
注意
本オブジェクトのメソッドはF6680エミュレーション機能でのみ使用できます。
ファイル転送の中断
ファイル転送メソッドにより開始したファイル転送の中断を要求します。
●呼び出し形式
Cancel()
●パラメータ
ありません
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合は、falseを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
●C#を用いて記述した例
Sendメソッドを参照してください。
送受信ファイルを取得
転送済みファイルデータを取得します。
ファイル転送が完了した後、このメソッドを呼び出すことで転送済みのファイルを取得することができます。
●呼び出し形式
GetFileData()
●パラメータ
ありません
●リターン値
関数の呼び出しに成功すると転送が完了したファイルデータをオブジェクトとして返します。エラーが発生した場合は、nullを返します。
ファイルデータの型はSetParamにより指定されたdataTypeプロパティによって変わります。
dataTypeプロパティ値 | 型情報 |
---|---|
'text' | 文字列型 |
'binary' | バイト配列 |
●C#を用いて記述した例
Recvメソッドを参照してください。
転送パラメータの取得
ファイル転送のパラメータを取得します。
●呼び出し形式
GetParam(key)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
key | プロパティ名を指定 | 省略できません |
●プロパティ一覧
プロパティ名 | 説明 |
---|---|
'ebcdicConvType' | テキスト転送データの1バイトコード変換種別 |
'dataType' | 転送データの形式 |
'recordType' | ホストデータセットのレコード形式 |
'recordLength' | ホストデータセットのレコード長(単位:バイト) |
'tab' | テキスト送信データ中に存在するTABコードをホストの空白文字(X'40')に置き換える際の空白文字数 |
'exKanji' | JEF拡張漢字に対するコード変換方法 |
'receiveType' | ホストデータセットのレコード形式 |
'timeout' | send/recv/cancelメソッドを実行する際の、ホストからの応答待ち時間(単位:秒) |
●リターン値
関数の呼び出しに成功するとキーに対する値を文字列で返します。値が設定されていないパラメータは空文字('')を返します。エラーが発生した場合はnullを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
参考
リターン値の詳細は、「■SetParam」の「●プロパティ一覧」を参照してください。
●C#を用いて記述した例
Send/Recvメソッドを参照してください。
ファイル転送状態の問い合わせ
ファイル転送メソッドにより開始したファイル転送の現在の状態を取得します。
●呼び出し形式
GetStatus(type)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
type | 状態の種別を指定 | 省略できません |
●状態種別一覧
状態種別 | 説明 |
---|---|
'transCode' | ファイル転送の戻り値 |
'totalDataSize' | 全転送データサイズ(単位:バイト) |
'transDataSize' | 転送済みデータサイズ(単位:バイト) |
'recvRecordType' | 受信情報・レコード形式 |
'recvRecordLength' | 受信情報・レコード長(単位:バイト) |
'codeConvertErrors' | コード変換エラー数 |
●ファイル転送の戻り値一覧
戻り値 | 説明 |
---|---|
-1 | コード変換エラーが発生しました。ファイル転送は継続します。 |
1 | <正常>ファイル転送がスタートしました。 |
2 | <正常>ファイル転送中。転送済みバイト数・・・。 |
3 | <正常>ファイル転送が完了しました。 |
4 | レコード長を超えたレコードがありました。 |
5 | ファイルの指定が無効です。 |
9 | 物理ディスクの読み取りエラー。 |
12 | 物理ディスクの書き込みエラー。 |
18 | オプションの指定が正しくありません |
27 | ホストとの通信順序エラーです。 |
43 | オプションの値が正しくありません。 |
97 | ファイル転送中にエラーが発生しました。 |
●リターン値
関数の呼び出しに成功すると状態種別に対応する値を数値で返します。エラーが発生した場合はnullを返します。
●C#を用いて記述した例
Send/Recvメソッドを参照してください。
ファイル受信
ファイル受信処理を開始します。受信したファイルデータはGetFileData()を使用して取得します。
参考
メソッドの発行により、ファイル転送は次の手順で開始されます。
Recvメソッド実行
キー入力可能状態の待ち合わせ
ファイル転送コマンドの入力
ファイル転送開始の待ち合わせ
Recvメソッド復帰
正常復帰の場合、ファイル転送開始
●呼び出し形式
Recv(hostCommand)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
hostCommand | ホストのファイル転送コマンドを80バイト以内の文字列で指定 | 省略できません |
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
●C#を用いて記述した例
WsmgrDspemu dspemu = new WsmgrDspemu(info); dspemu.Session.Connect(1); // セッション1を接続 // ファイル転送パラメータオブジェクトの設定
dspemu.FileTrans.SetParam("ebcdicConvType", "ascii"); // ファイル受信
dspemu.FileTrans.Recv("FIMPORT AAA"); // マクロのWait関数を使用してファイル転送の完了を待ち合わせます dspemu.Macro.SetWaitTime(60); int ret = dspemu.Macro.Wait(""); // 転送状態の問い合わせ int status = dspemu.FileTrans.GetStatus("transCode"); switch(status) { case 2: // 転送が終わっていない場合はキャンセル dspemu.FileTrans.Cancel(); break; case 3: // 転送完了時の処理 int total = dspemu.FileTrans.GetStatus("totalDataSize"); int trans = dspemu.FileTrans.GetStatus("transDataSize"); int codeErr = dspemu.FileTrans.GetStatus("codeConvertErrors"); // ファイル保存 object fileData = dspemu.FileTrans.GetFileData(); if(fileData != null) { // ファイルへの保存処理 } break; default: // エラー処理 break; }
ファイル受信
受信ファイルパスを指定して、ファイル受信処理を開始します。
参考
メソッドの発行により、ファイル転送は次の手順で開始されます。
RecvFileメソッド実行
キー入力可能状態の待ち合わせ
ファイル転送コマンドの入力
ファイル転送開始の待ち合わせ
RecvFileメソッド復帰
正常復帰の場合、ファイル転送開始
●呼び出し形式
RecvFile(hostCommand, filePath)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
hostCommand | ホストのファイル転送コマンドを80バイト以内の文字列で指定 | 省略できません |
filePath | ホスト転送するファイルへのフルパスを指定 | 省略できません |
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
●C#を用いて記述した例
WsmgrDspemu dspemu = new WsmgrDspemu(info); dspemu.Session.Connect(1); // セッション1を接続 // ファイル転送パラメータオブジェクトの設定 dspemu.FileTrans.SetParam("ebcdicConvType", "ascii"); // ファイル受信 dspemu.FileTrans.RecvFile("FIMPORT AAA", @"c:\zaiko\zaiko.csv"); // マクロのWait関数を使用してファイル転送の完了を待ち合わせます dspemu.Macro.SetWaitTime(60); int ret = dspemu.Macro.Wait(""); // 転送状態の問い合わせ int status = dspemu.FileTrans.GetStatus("transCode"); switch(status) { case 2: // 転送が終わっていない場合はキャンセル dspemu.FileTrans.Cancel(); break; case 3: // 転送完了時の処理 int total = dspemu.FileTrans.GetStatus("totalDataSize"); int trans = dspemu.FileTrans.GetStatus("transDataSize"); int codeErr = dspemu.FileTrans.GetStatus("codeConvertErrors"); break; default: // エラー処理 break; }
転送パラメータの設定
ファイル転送のパラメータを設定します。
●呼び出し形式
SetParam(key, value)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
key | プロパティ名を指定 | 省略できません |
value | プロパティに設定する値を指定 nullを指定した場合、プロパティ未設定状態(空文字'')が設定されます。 ファイル転送実行時にプロパティが未設定状態の場合は、プロパティ一覧の初期値が設定されます。 | 省略できません |
●プロパティ一覧
プロパティ名 | 説明 | 初期値 | |
---|---|---|---|
送信 | 受信 | ||
'ebcdicConvType' | テキスト転送データの1バイトコード変換種別 | 'default' | 'default' |
'dataType' | 転送データの形式 | 'text' | 'text' |
'recordType' | ホストデータセットのレコード形式 本プロパティ値を変更した場合、ホストデータセットのレコード長は初期値が設定されます | 'variable' | - |
'recordLength' | ホストデータセットのレコード長(単位:バイト) | 128 | - |
'tab' | テキスト送信データ中に存在するTABコードをホストの空白文字(X'40')に置き換える際の空白文字数 | 8 | - |
'exKanji' | JEF拡張漢字に対するコード変換方法 | false | - |
'receiveType' | ホストデータセットのレコード形式 | - | 'new' |
'timeout' | send/recv/cancelメソッドを実行する際の、ホストからの応答待ち時間(単位:秒) | 30 | 30 |
注意
recordLengthプロパティを設定後に、recordTypeプロパティを設定した場合、recordLengthプロパティはプロパティ未設定状態(空文字'')に戻ります。
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
●C#を用いて記述した例
Send/Recvメソッドを参照してください。
ファイル送信
ファイルデータを指定してファイル送信処理を開始します。
参考
メソッドの発行により、ファイル転送は次の手順で開始されます。
Sendメソッド実行
キー入力可能状態の待ち合わせ
ファイル転送コマンドの入力
ファイル転送開始の待ち合わせ
Sendメソッド復帰
正常復帰の場合、ファイル転送開始
●呼び出し形式
Send(hostCommand, fileData)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
hostCommand | ホストのファイル転送コマンドを80バイト以内の文字列で指定 | 省略できません |
fileData | ホストに転送するファイルデータを指定 | 省略できません |
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
●C#を用いて記述した例
WsmgrDspemu dspemu = new WsmgrDspemu(info); dspemu.Session.Connect(1); // セッション1を接続 // ファイル転送パラメータオブジェクトの設定 dspemu.FileTrans.SetParam("ebcdicConvType", "ascii");
// データの読み込み using(FileStream fs = File.Open(@"c:\zaiko\zaiko.csv", FileMode.Open)) { byte[] data = new byte[fs.Length]; fs.Read(data, 0, data.Length); // ファイル送信 dspemu.FileTrans.Send("FEXPORT AAA", data); } // マクロのWait関数を使用してファイル転送の完了を待ち合わせます dspemu.Macro.SetWaitTime(60); int ret = dspemu.Macro.Wait(""); // 転送状態の問い合わせ int status = dspemu.FileTrans.GetStatus("transCode"); switch(status) { case 2: // 転送が終わっていない場合はキャンセル dspemu.FileTrans.Cancel(); break; case 3: // 転送完了時の処理 int total = dspemu.FileTrans.GetStatus("totalDataSize"); int trans = dspemu.FileTrans.GetStatus("transDataSize"); int codeErr = dspemu.FileTrans.GetStatus("codeConvertErrors"); break; default: // エラー処理 break; }
ファイル送信
ファイルパスを指定してファイル送信処理を開始します。
参考
メソッドの発行により、ファイル転送は次の手順で開始されます。
SendFileメソッド実行
キー入力可能状態の待ち合わせ
ファイル転送コマンドの入力
ファイル転送開始の待ち合わせ
SendFileメソッド復帰
正常復帰の場合、ファイル転送開始
●呼び出し形式
SendFile(hostCommand, filePath)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
hostCommand | ホストのファイル転送コマンドを80バイト以内の文字列で指定 | 省略できません |
fileData | ホストに転送するファイルパスを指定 | 省略できません |
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。エラーの詳細は、GetErrorメソッドにより取得できます。
●C#を用いて記述した例
WsmgrDspemu dspemu = new WsmgrDspemu(info); dspemu.Session.Connect(1); // セッション1を接続 // ファイル転送パラメータオブジェクトの設定 dspemu.FileTrans.SetParam("ebcdicConvType", "ascii"); // ファイル送信
dspemu.FileTrans.SendFile("FEXPORT AAA", @"c:\zaiko\zaiko.csv"); // マクロのWait関数を使用してファイル転送の完了を待ち合わせます dspemu.Macro.SetWaitTime(60); int ret = dspemu.Macro.Wait(""); // 転送状態の問い合わせ int status = dspemu.FileTrans.GetStatus("transCode"); switch(status) { case 2: // 転送が終わっていない場合はキャンセル dspemu.FileTrans.Cancel(); break; case 3: // 転送完了時の処理 int total = dspemu.FileTrans.GetStatus("totalDataSize"); int trans = dspemu.FileTrans.GetStatus("transDataSize"); int codeErr = dspemu.FileTrans.GetStatus("codeConvertErrors"); // ... break; default: // エラー処理 break; }