HDC-EDI Apex をさわってみた【ログ確認編】（4/4）

#はじめに
こんにちは、よろず相談担当 **すぎもん:yum:** です。HDC-EDI Suite の最新版 **HDC-EDI Suite for Apex** がリリースされたので、実際に触ってみて違いを確認してみました。

#今回やってみたこと
HDC-EDI Suite for Apex の特徴（強み）は、Apex（EDI通信）とHULFT（社内ファイル連携）をスムーズに行えると謳っています。では、そのスムーズさがどのようなものか、実際の環境を触ることができたので確かめてみました。
確認ポイントは、次の2点になります。

- **設定** ってどんな感じでできるのか？
- **ログ** ってどんな感じで出力される？

# HDC-EDI Apex をさわってみたシリーズ
記事が長くなってしまったので全4回のシリーズに分けました。興味の回からご覧ください。
:arrow_forward: [HDC-EDI Apex をさわってみた【全銀設定編】（1/4）](https://qiita.com/sugimon/items/19fc81986becefcfc47c)
:arrow_forward: [HDC-EDI Apex をさわってみた【HULFT設定編】（2/4）](https://qiita.com/sugimon/items/bee7e98b867c08353660)
:arrow_forward: [HDC-EDI Apex をさわってみた【フロー設定編】（3/4）](https://qiita.com/sugimon/items/0e8137ce72ed5d680aa9)
:arrow_forward: HDC-EDI Apex をさわってみた【動かしてみた編】（4/4）

#動作環境
実際に動かした環境は、以下の図の３つのサーバから構成されています。
![demo_env.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/dbcd416f-77c2-444b-59f3-dec41a28a212.png "図1")

実際に触ったのは、真ん中のEDIサーバになります。EDI通信は未だに利用者が多い全銀手順（全銀TCP/IP）、社内通信はHULFTを使いました。通信の流れも、社外から全銀手順で受け取って社内サーバに単純転送するイメージです。

#ログ出力
###■ログ出力処理内容
設定１～設定３により、次の処理が実施されます。

1. 全銀手順でファイル受信する。
2. 1が正常のときHULFT送信処理を呼び出す。
3. HULFTでファイル送信する。

この一連の流れがどのようにログ出力されるか見てみます。

###■ログの種類
|#|ログ|補足説明|【参考】ACMS B2Bで該当する設定項目|
|--:|:--|:--|:--|
|1|タスク|通信処理やアプリケーション処理など、いつ、誰が、何を実行したのかを都度記録される。再実行処理などはここから実行する。|送受信トランザクション/APトランザクション|
|2|トップフロー|入力したデータがどのような処理を経由し、現在どこまで処理されているのかといった、業務処理全体の進捗状況を確認できる。|該当なし|
|3|通信ログ|データの送受信履歴が記録される。|該当なし（HULFTの集配信履歴に近いイメージ）|
|4|ログ|詳細なイベントメッセージが記録される。|稼働ログ|
####１．タスク
デフォルトでは日時-降順となっているため、下から上へタスクが流れています。
対象処理は赤枠内で、下から以下の順番でタスクが処理されたのがわかります。

1. 通信ユーザー名：zgin_edi、論理ファイル名：zgin_edi_cr の受信処理が正常完了
2. フロー名：zgin2H-SEND のアプリケーション処理が正常完了
3. 通信ユーザー名：APEX-HULFT、論理ファイル名：H-SNED の送信処理が正常完了

![task.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/cd8eba22-528c-0be4-d0cd-510b53ce883b.png)

####２．トップフロー
トップフロータスクはちょっと見方にコツがあります。連携処理のフローで **単独送信チェイン** を選択しているのでトップフローの一覧上は最後のHULFT送信処理だけ分離しています。「チェイン」の部分がGOTO的な意味合いでリンクしている感じでしょうか。
![topflow1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b7620fe6-f069-522b-f12c-a1d4db967086.png)
一方、**トップフロータスクビューア**で最初のタスクを見ると一連のタスクが連携しているのを見ることができます。これで、各タスクのつながりを追うことができます。
![topflow2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b09ecc8b-4f9e-9d90-5d5e-0ad073401040.png)

####３．通信ログ
通信ログは、ファイル送受信の履歴を見ることができます。見方の注意点として、**通信単位** と **ファイル単位** のログが出ることがあります。全銀手順の場合、１通信で複数のファイル送受信ができるため2つのログが出力されます。
![com_log.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/0977d882-8e91-fe89-c8e7-d4abbf31d2f8.png)

####４．ログ
ログは、詳細なイベントログになります。エラー時の詳細な原因調査はこのログから確認します。
#####4.1.正常系ログ
![log.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/7f79f03d-1386-d76e-a5bc-ca8f05093d99.png)
正常時のHULFTの送信結果は下図のように出力されます。
HULFTの配信履歴画面を見たことがある方はピントくると思いますが、**HULFT配信履歴の詳細情報**がここに表示されます。つまり、HULFTで履歴を確認しなくても**HDC-EDI Apexのログ画面からHULFTの処理結果が全て確認**できます。
![log_hulft_ok1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b2941658-d348-e3b7-07d1-3c639809ee4a.png)
![log_hulft_ok2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/84a0ea60-ab84-bd27-0138-c8bd788d5eff.png)

#####4.2.異常系ログ
正常系ログだけではありがたみがわかりにくいので、異常系ログも見てみましょう。
![log_ng.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/1acaa7b2-fa02-8b72-219a-c8b2305669a9.png)
異常系のHULFTエラーのログ詳細を見てみると、HULFTの **完了コード** はもちろん、完了コードに紐付く**日本語のガイダンス**も表示されます。つまり、**HDC-EDI Apexの画面だけでHULFTの運用も完結する**ようにできているのがわかります。
![log_hulft_ng1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/666ede81-2d3f-c794-3120-991b87042107.png)
![log_hulft_ng2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b9f873f8-ecd3-98d6-ba2c-62b9dfeab655.png)

####５．（おまけ）障害復旧方法
障害原因を取り除いた後で、タスクから **障害** 状態のタスクの **アクション -> 再実行** で復旧することができます。
![re_run.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/8e821417-73a6-95fc-a141-05403f1b7210.png)

---

以上が、HDC-EDI Apexを動かしてみたときのログの内容になります。

全体を通してみると、HDC-EDI Suite for Apex の設計思想が、Apex運用者がプロトコルと１つとして違和感なくHULFTを利用してもらうことを意識しているのがわかると思います。いかがだったでしょうか？

今後もHDC-EDI関連の技術ネタを投稿してみたいと思うので、ご期待ください。

---

:arrow_forward: [HDC-EDI Apex をさわってみた【全銀設定編】（1/4）](https://qiita.com/sugimon/items/19fc81986becefcfc47c)
:arrow_forward: [HDC-EDI Apex をさわってみた【HULFT設定編】（2/4）](https://qiita.com/sugimon/items/bee7e98b867c08353660)
:arrow_forward: [HDC-EDI Apex をさわってみた【フロー設定編】（3/4）](https://qiita.com/sugimon/items/0e8137ce72ed5d680aa9)
:arrow_forward: HDC-EDI Apex をさわってみた【動かしてみた編】（4/4）

---