質問
HULFT SquareのWeb-EDI機能で手動アップロードしているファイルについて、誤ったファイルをアップロードしてしまった場合に、システム側で制御または検知することは可能ですか?(ファイル名基準・ファイル内データ基準の両方について確認したい)
回答
HULFT Squareの集信機能を利用してアップロードされたファイルに対して、特定の条件を元に正誤判定を行い検知することが可能です。
正誤判定の基準として「ファイル名」と「ファイル内データ(請求年月等)」の2つのアプローチがあり、それぞれ以下の方法で実現できます。
---
## ファイル名を基準とした正誤判定
ファイル名を基準とした正誤判定には、以下の2つの方法が利用できます。
### ①集信管理情報の登録モードによる制御
集信管理情報の登録モードで「新規作成」を選択すると、集信先ディレクトリに同名ファイルが既に存在している場合にエラーとして転送自体を停止させることができます。
この場合、ファイル転送がエラーとなりファイルの転送自体が行われません。配信側の配信処理履歴にも配信エラーとして登録されます。
詳細については、以下マニュアルの[各項目の説明] [登録モード(TRANSMODE)]をご参照ください。
- A. HULFT Square 詳細情報 1. HULFT Square 1.2 メイン 1.2.5 HULFT APP 1.2.5.2 集信管理情報
なお、本機能は集信先ディレクトリ内での同名ファイルの存在確認を行っているため、集信後に比較対象のファイルを別ディレクトリへ移動している運用では利用できません。その場合は以下の②の方法をご検討ください。
### ②Transferトリガーによって起動したアプリケーションによる検知
HULFT Appサービスによる集信処理をトリガーに起動するアプリケーションの同梱スクリプトに対して、ファイル名を始めとした各種集信時のパラメーターを入力スクリプト変数として渡すことができます。取得した集信ファイルのファイル名を利用してアプリケーション内で正誤判定を実装することで、誤転送の検知が可能です。
例:
- 実行日時とファイル名を比較し、ファイル名が実行日時に対して過去の年月だった場合を検知
- 転送済みファイルの情報と比較し、同名ファイルが重複して転送されている場合を検知
この場合、ファイル転送はエラーとならず正常完了し、集信後に起動するアプリケーション処理で検知する動作となります。検知後のファイル操作や通知方法はアプリケーション内のスクリプトで実装します(例:誤ファイルをストレージから削除したうえで、メール送信コネクターを利用してメールで通知する等)。
**【注意】集信ファイル名称を固定値で設定している場合について**
集信管理情報の集信ファイル名称を固定の値で設定している場合、ファイル名での判定対応が難しくなります。その場合は、集信ファイル名のパスにおけるファイル名に `$SNDFILE` という変数値を指定することで、配信管理情報側のファイル名を集信ファイル名として動的に指定することが可能です。
---
## ファイル内データ(請求年月等)を基準とした正誤判定
Transferトリガーによって起動したアプリケーション内で、固定長ファイル読み取り処理を使用して集信ファイルを読み取り、対象フィールド(例:各レコードの6~9バイト目のYYMM形式の請求年月)の値をスクリプト変数に格納することで、アップロード日の前月と一致するかを判定することが可能です。
この場合も、ファイル転送自体はエラーとならず正常完了し、集信後に起動するアプリケーション処理で検知する動作となります。検知後のファイル操作や通知方法はアプリケーション内のスクリプトで実装します。
なお、本方法を実現するには以下の条件を満たしている必要があります。
1. ファイルがアップロードされるタイミングに対して、常に同じ条件で正誤判定を行える
2. アップロードされるファイルの形式やフォーマットが常に共通である
---
## 特定ファイル名以外のアップロードをHULFT Square側で受け付けない制御について
特定のファイル名のみを集信し、それ以外のファイル転送を受け付けないような制御を**HULFT Square側で実現することはできません**。対向先から配信されたファイルについて、HULFT Square側は無条件で集信処理を開始する仕様となっているため、集信側での制御は実現できません。
補足
コメント
0件のコメント
記事コメントは受け付けていません。