# ⑥ 業務ロジック — Mapping (InMsg/OutMsg): 10 methods

| 項目 | 内容 |
|---|---|
| 完全修飾名 | `com.fujitsu.futurity.bp.custom.common.JKKHakkoSODCC` |
| レイヤー | CC（Common Component、パッケージ名およびクラス名から判定） |
| モジュール | common（パッケージ名：com.fujitsu.futurity.bp.custom.commonより） |


<style>
.mermaid { display: flex !important; justify-content: center !important; overflow-x: auto !important; overflow-y: hidden; background: #f9f9f9; padding: 20px; border-radius: 8px; margin: 0 auto; }
.mermaid svg { max-width: 100% !important; height: auto !important; width: fit-content !important; margin: 0 auto; }
.node rect { fill: #e1f5fe !important; stroke: #01579b !important; }
.label { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
</style>

<a id="method-mappingEKK2811B010SCInMsg"></a>
### mappingEKK2811B010SCInMsg()

---

#### 1. 役割

機器オプションサービス契約一覧照会（機器提供サービス契約番号）SIFの入力メッセージを作成するマッピング処理。  
具体的には、引数で受け取ったCAANMsgテンプレートに対し、全項目をNullで初期化した後、テンプレートID、機能コード、サービス契約番号（機器提供サービス契約番号）を`inHash`から取得してセットする。  
本メソッドは共通入力マッピング処理として複数の呼び出し元から利用される。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK2811B010SCInMsg（template, inHash, funcCode）"] --> S1["Step1: fillCAANMSGNullMapping（）で全条件をNull初期化"]
  S1 --> S2["Step2: テンプレートID設定"]
  S2 --> NOTE_TID["TEMPLATE_ID_EKK2811B010 = 'EKK2811B010' （テンプレートID）"]
  S2 -.- NOTE_TID
  S2 --> S3["Step3: 機能コード設定"]
  S3 --> NOTE_FC["FUNC_CODE （機能コード）"]
  S3 -.- NOTE_FC
  S3 --> S4["Step4: サービス契約番号（機器提供サービス契約番号）をinHashから取得し設定"]
  S4 --> NOTE_KKTK["KKTK_SVC_KEI_NO （機器提供サービス契約番号）"]
  S4 -.- NOTE_KKTK
  S4 --> END["処理終了"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
  style S4 fill:#e0f7fa
```

**処理ステップ詳細:**
1. 全項目のNullマッピング（`fillCAANMSGNullMapping(template, new EKK2811B010CBSMsg().getContents())`）。
2. テンプレートID（`EKK2811B010CBSMsg.TEMPLATEID`）に定数 `TEMPLATE_ID_EKK2811B010 = "EKK2811B010"` をセット。
3. 機能コード（`EKK2811B010CBSMsg.FUNC_CODE`）に引数 `funcCode` をセット。
4. サービス契約番号（`EKK2811B010CBSMsg.KEY_KKTK_SVC_KEI_NO`）に `inHash` の `KKTK_SVC_KEI_NO` キーの値をセット。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型              | 業務説明                                                                   |
| --- | ------------ | --------------- | -------------------------------------------------------------------------- |
| 1   | template     | CAANMsg         | サービスIF入力メッセージテンプレート                                       |
| 2   | inHash       | HashMap<String, Object> | 業務データ（サービス契約や機器契約番号等の入力情報）         |
| 3   | funcCode     | String          | 機能コード（呼び出し用の業務機能識別子）                                   |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCInMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK2811B010SC` | private | 機器オプションサービス契約一覧照会SIFを呼び出し |
### mappingEKK0341B002SCOutMsg()

---

#### 1. 役割

機器提供サービス契約一覧照会（サービス契約番号）SIFの出力メッセージから、業務で必要な明細リスト（CAANMsg[]）を抽出するマッピング処理。  
具体的には、SC呼出結果であるCAANMsg配列の先頭要素のメッセージデータから `EKK0341B002CBSMsg.EKK0341B002CBSMSG1LIST` キーに格納された明細リスト（CAANMsg[]）を取得し、そのまま返却する。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK0341B002SCOutMsg（resultMsgs）"] --> S1["Step1: CAANMsg msg = resultMsgs[0] で先頭メッセージ取得"]
  S1 --> S2["Step2: msg.getMsgData（）.get（EKK0341B002CBSMsg.EKK0341B002CBSMSG1LIST） で明細リスト取得"]
  S2 --> NOTE_LIST["EKK0341B002CBSMSG1LIST （明細リストキー）"]
  S2 -.- NOTE_LIST
  S2 --> S3["Step3: 取得したCAANMsg[]を戻り値として返却"]
  S3 --> END["return msgList"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
```

**処理ステップ詳細:**
1. SC出力メッセージ配列（CAANMsg[] resultMsgs）の先頭要素を取得。
2. そのメッセージのデータ（HashMap）から `EKK0341B002CBSMsg.EKK0341B002CBSMSG1LIST` キーでCAANMsg[]リストを取得。
3. 取得したリストをそのまま返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型         | 業務説明                            |
| --- | ------------ | ---------- | ----------------------------------- |
| 1   | resultMsgs   | CAANMsg[]  | SC呼出結果メッセージ配列            |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCOutMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK0341B002SC` | private | 機器提供サービス契約一覧照会（サービス契約番号）SIFを呼び出し |
### mappingEKK2811A010SCInMsg()

---

#### 1. 役割

機器オプションサービス契約一意照会SIF（EKK2811A010）の入力メッセージマッピング処理。  
具体的には、CAANMsgテンプレートの全項目をNullで初期化し、テンプレートID、機能コード、機器オプションサービス契約番号、世代登録年月日時分秒をinHashから取得してセットする。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK2811A010SCInMsg（template, inHash, funcCode）"] --> S1["Step1: fillCAANMSGNullMapping（）で全項目をNull初期化"]
  S1 --> S2["Step2: テンプレートIDをセット"]
  S2 --> NOTE_TID["TEMPLATE_ID_EKK2811A010 = 'EKK2811A010' （テンプレートID）"]
  S2 -.- NOTE_TID
  S2 --> S3["Step3: 機能コードをセット"]
  S3 --> NOTE_FC["FUNC_CODE （機能コード）"]
  S3 -.- NOTE_FC
  S3 --> S4["Step4: 機器オプションサービス契約番号をセット"]
  S4 --> NOTE_KKOP["KKOP_SVC_KEI_NO （機器オプションサービス契約番号）"]
  S4 -.- NOTE_KKOP
  S4 --> S5["Step5: 世代登録年月日時分秒をセット"]
  S5 --> NOTE_GENE["GENE_ADD_DTM （世代登録年月日時分秒）"]
  S5 -.- NOTE_GENE
  S5 --> END["処理終了"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
  style S4 fill:#e0f7fa
  style S5 fill:#e0f7fa
```

**処理ステップ詳細:**
1. 全条件のNullマッピング（`fillCAANMSGNullMapping(template, new EKK2811A010CBSMsg().getContents())`）。
2. テンプレートID（`EKK2811A010CBSMsg.TEMPLATEID`）に定数 `TEMPLATE_ID_EKK2811A010 = "EKK2811A010"` をセット。
3. 機能コード（`EKK2811A010CBSMsg.FUNC_CODE`）に引数 `funcCode` をセット。
4. 機器オプションサービス契約番号（`EKK2811A010CBSMsg.KEY_KKOP_SVC_KEI_NO`）に `inHash` の `KKOP_SVC_KEI_NO` キーの値をセット。
5. 世代登録年月日時分秒（`EKK2811A010CBSMsg.KEY_GENE_ADD_DTM`）に `inHash` の `GENE_ADD_DTM` キーの値をセット。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型              | 業務説明                                    |
| --- | ------------ | --------------- | ------------------------------------------- |
| 1   | template     | CAANMsg         | SC入力メッセージテンプレート                |
| 2   | inHash       | HashMap<String, Object> | 業務データ（機器オプションサービス契約番号等） |
| 3   | funcCode     | String          | 機能コード                                  |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811A010SCInMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK2811A010SC` | private | 機器オプションサービス契約一意照会SIFを呼び出し |
### mappingEKK0341B022SCOutMsg()

---

#### 1. 役割

サービス対象機器提供サービス契約一覧照会（EKK0341B022）SIFの出力メッセージから、明細リスト（CAANMsg[]）を抽出し返却するマッピング処理。  
具体的には、SC呼出結果であるCAANMsg配列の先頭要素のメッセージデータから `EKK0341B022CBSMsg.EKK0341B022CBSMSG1LIST` キーに格納された明細リスト（CAANMsg[]）を取得して返却する。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK0341B022SCOutMsg（resultMsgs）"] --> S1["Step1: CAANMsg msg = resultMsgs[0] で先頭取得"]
  S1 --> S2["Step2: msg.getMsgData（）.get（EKK0341B022CBSMsg.EKK0341B022CBSMSG1LIST） で明細リスト取得"]
  S2 --> NOTE_LIST["EKK0341B022CBSMSG1LIST （明細リストキー）"]
  S2 -.- NOTE_LIST
  S2 --> S3["Step3: 取得したCAANMsg[]を戻り値として返却"]
  S3 --> END["return msgList"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
```

**処理ステップ詳細:**
1. SC出力メッセージ配列（CAANMsg[] resultMsgs）の先頭要素を取得。
2. そのメッセージのデータ（HashMap）から `EKK0341B022CBSMsg.EKK0341B022CBSMSG1LIST` キーでCAANMsg[]リストを取得。
3. 取得したリストをそのまま返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型         | 業務説明                             |
| --- | ------------ | ---------- | ------------------------------------ |
| 1   | resultMsgs   | CAANMsg[]  | SC呼出結果メッセージ配列             |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022SCOutMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK0341B008_02SC` | private | 機器提供サービス契約一覧照会SIFを呼び出し（交換中レコード専用） |
| 2 | `callEKK0341B008SC` | private | 機器提供サービス契約一覧照会SIFを呼び出し 2012-11/21　ロット２IT1-2012-0002131（EKK0341B022 に差替え） |
### mappingEKK2811B010SCOutMsg()

---

#### 1. 役割

機器オプションサービス契約一覧照会（機器提供サービス契約番号）SIF（EKK2811B010）の出力メッセージから明細リスト（CAANMsg[]）を抽出し返却するマッピング処理。  
具体的には、SC呼出結果であるCAANMsg配列の先頭要素のメッセージデータから `EKK2811B010CBSMsg.EKK2811B010CBSMSG1LIST` キーに格納された明細リスト（CAANMsg[]）を取得して返却する。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK2811B010SCOutMsg（resultMsgs）"] --> S1["Step1: CAANMsg msg = resultMsgs[0] で先頭取得"]
  S1 --> S2["Step2: msg.getMsgData（）.get（EKK2811B010CBSMsg.EKK2811B010CBSMSG1LIST） で明細リスト取得"]
  S2 --> NOTE_LIST["EKK2811B010CBSMSG1LIST （明細リストキー）"]
  S2 -.- NOTE_LIST
  S2 --> S3["Step3: 取得したCAANMsg[]を戻り値として返却"]
  S3 --> END["return msgList"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
```

**処理ステップ詳細:**
1. SC出力メッセージ配列（CAANMsg[] resultMsgs）の先頭要素を取得。
2. そのメッセージのデータ（HashMap）から `EKK2811B010CBSMsg.EKK2811B010CBSMSG1LIST` キーでCAANMsg[]リストを取得。
3. 取得したリストをそのまま返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型         | 業務説明                             |
| --- | ------------ | ---------- | ------------------------------------ |
| 1   | resultMsgs   | CAANMsg[]  | SC呼出結果メッセージ配列             |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK2811B010SCOutMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK2811B010SC` | private | 機器オプションサービス契約一覧照会SIFを呼び出し |
### mappingEKK0341B002SCInMsg()

---

#### 1. 役割

機器提供サービス契約一覧照会（サービス契約番号）SIF（EKK0341B002）の入力メッセージを生成するマッピング処理。  
具体的には、全項目をNullで初期化した上で、テンプレートID・機能コード・サービス契約番号をセットし、機器提供サービスコード（KKTK_SVC_CD）がinHashに存在する場合はそれをセット、存在しない場合はNullをセットする。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK0341B002SCInMsg（template, inHash, funcCode）"] --> S1["Step1: fillCAANMSGNullMapping（）で全条件をNull初期化"]
  S1 --> S2["Step2: テンプレートIDをセット"]
  S2 --> NOTE_TID["TEMPLATE_ID_EKK0341B002 = 'EKK0341B002' （テンプレートID）"]
  S2 -.- NOTE_TID
  S2 --> S3["Step3: 機能コードをセット"]
  S3 --> NOTE_FC["FUNC_CODE （機能コード）"]
  S3 -.- NOTE_FC
  S3 --> S4["Step4: サービス契約番号をinHashから取得しセット"]
  S4 --> NOTE_SVC["SVC_KEI_NO （サービス契約番号）"]
  S4 -.- NOTE_SVC
  S4 --> IF1{"'KKTK_SVC_CD'（機器提供サービスコード）が存在しかつ長さ>0か？"}
  IF1 -.- NOTE_KKTK["KKTK_SVC_CD （機器提供サービスコード）"]
  IF1 -->|"Yes"| S5["Step5: 機器提供サービスコードをセット"]
  IF1 -->|"No"| S6["Step6: 機器提供サービスコードをNullセット"]
  S5 --> END["処理終了"]
  S6 --> END
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
  style S4 fill:#e0f7fa
  style IF1 fill:#ffcc00
  style S5 fill:#e0f7fa
  style S6 fill:#e0f7fa
```

**処理ステップ詳細:**
1. 全項目のNullマッピング（`fillCAANMSGNullMapping(template, new EKK0341B002CBSMsg().getContents())`）。
2. テンプレートID（`EKK0341B002CBSMsg.TEMPLATEID`）に定数 `TEMPLATE_ID_EKK0341B002 = "EKK0341B002"` をセット。
3. 機能コード（`EKK0341B002CBSMsg.FUNC_CODE`）に引数 `funcCode` をセット。
4. サービス契約番号（`EKK0341B002CBSMsg.KEY_SVC_KEI_NO`）に `inHash` の `SVC_KEI_NO` キーの値をセット。
5. `KKTK_SVC_CD`（機器提供サービスコード）がinHashに存在し、かつ長さが1以上ならその値をセット。存在しない/空の場合はNullをセット。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型              | 業務説明                                    |
| --- | ------------ | --------------- | ------------------------------------------- |
| 1   | template     | CAANMsg         | SC入力メッセージテンプレート                |
| 2   | inHash       | HashMap<String, Object> | 業務データ（サービス契約や機器提供サービスコード等） |
| 3   | funcCode     | String          | 機能コード                                  |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B002SCInMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK0341B002SC` | private | 機器提供サービス契約一覧照会（サービス契約番号）SIFを呼び出し |
### mappingEKK0341B022_02SCInMsg()

---

#### 1. 役割

サービス対象機器提供サービス契約一覧照会SIF（EKK0341B022）の入力メッセージを作成するマッピング処理。  
具体的には、全項目をNullで初期化した上で、テンプレートID・機能コード・サービス契約番号をinHashから取得してセットする。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK0341B022_02SCInMsg（template, inHash, funcCode）"] --> S1["Step1: fillCAANMSGNullMapping（）で全条件をNull初期化"]
  S1 --> S2["Step2: テンプレートIDをセット"]
  S2 --> NOTE_TID["TEMPLATE_ID_EKK0341B022 = 'EKK0341B022' （テンプレートID）"]
  S2 -.- NOTE_TID
  S2 --> S3["Step3: 機能コードをセット"]
  S3 --> NOTE_FC["FUNC_CODE （機能コード）"]
  S3 -.- NOTE_FC
  S3 --> S4["Step4: サービス契約番号をinHashから取得しセット"]
  S4 --> NOTE_SVC["SVC_KEI_NO （サービス契約番号）"]
  S4 -.- NOTE_SVC
  S4 --> END["処理終了"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
  style S4 fill:#e0f7fa
```

**処理ステップ詳細:**
1. 全条件のNullマッピング（`fillCAANMSGNullMapping(template, new EKK0341B022CBSMsg().getContents())`）。
2. テンプレートID（`EKK0341B022CBSMsg.TEMPLATEID`）に定数 `TEMPLATE_ID_EKK0341B022 = "EKK0341B022"` をセット。
3. 機能コード（`EKK0341B022CBSMsg.FUNC_CODE`）に引数 `funcCode` をセット。
4. サービス契約番号（`EKK0341B022CBSMsg.KEY_SVC_KEI_NO`）に `inHash` の `SVC_KEI_NO` キーの値をセット。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型              | 業務説明                                    |
| --- | ------------ | --------------- | ------------------------------------------- |
| 1   | template     | CAANMsg         | SC入力メッセージテンプレート                |
| 2   | inHash       | HashMap<String, Object> | 業務データ（サービス契約番号等）             |
| 3   | funcCode     | String          | 機能コード                                  |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0341B022_02SCInMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK0341B008_02SC` | private | 機器提供サービス契約一覧照会SIFを呼び出し（交換中レコード専用） |
### mappingEKK1041A010SCOutMsg()

---

#### 1. 役割

オーダ設定一意照会（EKK1041A010）SIFの出力メッセージから、明細リスト（CAANMsg[]）を抽出し返却するマッピング処理。  
具体的には、SC呼出結果であるCAANMsg配列の先頭要素のメッセージデータから `EKK1041A010CBSMsg.EKK1041A010CBSMSG1LIST` キーに格納された明細リスト（CAANMsg[]）を取得して返却する。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK1041A010SCOutMsg（resultMsgs）"] --> S1["Step1: CAANMsg msg = resultMsgs[0] で先頭取得"]
  S1 --> S2["Step2: msg.getMsgData（）.get（EKK1041A010CBSMsg.EKK1041A010CBSMSG1LIST） で明細リスト取得"]
  S2 --> NOTE_LIST["EKK1041A010CBSMSG1LIST （明細リストキー）"]
  S2 -.- NOTE_LIST
  S2 --> S3["Step3: 取得したCAANMsg[]を戻り値として返却"]
  S3 --> END["return msgList"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
```

**処理ステップ詳細:**
1. SC出力メッセージ配列（CAANMsg[] resultMsgs）の先頭要素を取得。
2. そのメッセージのデータ（HashMap）から `EKK1041A010CBSMsg.EKK1041A010CBSMSG1LIST` キーでCAANMsg[]リストを取得。
3. 取得したリストをそのまま返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型         | 業務説明                             |
| --- | ------------ | ---------- | ------------------------------------ |
| 1   | resultMsgs   | CAANMsg[]  | SC呼出結果メッセージ配列             |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK1041A010SCOutMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK1041A010SC` | private | オーダ設定一意照会SIFを呼び出し |
### mappingEKK0361A010SCInMsg()

---

#### 1. 役割

オプションサービス契約＜ISP＞一意照会SIF（EKK0361A010）の入力メッセージを作成するマッピング処理。  
具体的には、テンプレートID、機能コード、オプションサービス契約番号をinHashから取得してセットし、機能コードが"1"の場合は世代登録年月日時分秒をセット、"2"の場合は最大日時（MAX_DTM）をセットする。  
入力条件に応じて世代登録情報の指定方法が変わるのが特徴。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingEKK0361A010SCInMsg（template, inHash, funcCode）"] --> S1["Step1: テンプレートIDをセット"]
  S1 --> NOTE_TID["TEMPLATE_ID_EKK0361A010 = 'EKK0361A010' （テンプレートID）"]
  S1 -.- NOTE_TID
  S1 --> S2["Step2: 機能コードをセット"]
  S2 --> NOTE_FC["FUNC_CODE （機能コード）"]
  S2 -.- NOTE_FC
  S2 --> S3["Step3: オプションサービス契約番号をセット"]
  S3 --> NOTE_OPSVC["OP_SVC_KEI_NO （オプションサービス契約番号）"]
  S3 -.- NOTE_OPSVC
  S3 --> IF1{"funcCode が '1' か '2' か？"}
  IF1 -->|"Yes: '1'"| S4["Step4a: 世代登録年月日時分秒（GENE_ADD_DTM）を inHash からセット"]
  S4 --> NOTE_GENE["GENE_ADD_DTM （世代登録年月日時分秒）"]
  S4 -.- NOTE_GENE
  IF1 -->|"Yes: '2'"| S5["Step4b: 世代登録年月日時分秒（GENE_ADD_DTM）に MAX_DTM をセット"]
  S5 --> NOTE_MAX["MAX_DTM = '20991231000000000' （最大日時）"]
  S5 -.- NOTE_MAX
  S4 --> END["処理終了"]
  S5 --> END
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
  style IF1 fill:#ffcc00
  style S4 fill:#e0f7fa
  style S5 fill:#e0f7fa
```

**処理ステップ詳細:**
1. テンプレートID（`EKK0361A010CBSMsg.TEMPLATEID`）に定数 `TEMPLATE_ID_EKK0361A010 = "EKK0361A010"` をセット。
2. 機能コード（`EKK0361A010CBSMsg.FUNC_CODE`）に引数 `funcCode` をセット。
3. オプションサービス契約番号（`EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO`）に `inHash` の `OP_SVC_KEI_NO` キーの値をセット。
4. 機能コードが"1"の場合、世代登録年月日時分秒（`EKK0361A010CBSMsg.KEY_GENE_ADD_DTM`）に `inHash` の `GENE_ADD_DTM` をセット。
5. 機能コードが"2"の場合、世代登録年月日時分秒（`EKK0361A010CBSMsg.KEY_GENE_ADD_DTM`）に `MAX_DTM = "20991231000000000"` をセット。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型              | 業務説明                                             |
| --- | ------------ | --------------- | ---------------------------------------------------- |
| 1   | template     | CAANMsg         | SC入力メッセージテンプレート                         |
| 2   | inHash       | HashMap<String, Object> | 業務データ（オプションサービス契約番号等）              |
| 3   | funcCode     | String          | 機能コード                                           |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingEKK0361A010SCInMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK0361A010SC` | private | オプションサービス契約＜ISP＞一意照会SIFを呼び出し |
### mappingListingSvcCompoOutMsg()

---

#### 1. 役割

SC呼出などで得られた複合サービスコンポーネントの出力メッセージ（CAANMsg[] resultMsgs）から、指定したリストキー（listKey）に紐づくCAANMsg[]リストを抽出し返却するマッピング処理。  
具体的には、CAANMsg配列の先頭要素のメッセージデータから指定keyでCAANMsg[]を取得し返却する。  
本メソッドは複数の出力リスト形式に対応した共通処理であり、各種一覧照会の結果マッピングに使用される。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["mappingListingSvcCompoOutMsg（resultMsgs, listKey）"] --> S1["Step1: CAANMsg msg = resultMsgs[0] で先頭取得"]
  S1 --> S2["Step2: msg.getMsgData（）.get（listKey） で指定リストを取得"]
  S2 --> NOTE_KEY["listKey（指定リストキー）"]
  S2 -.- NOTE_KEY
  S2 --> S3["Step3: 取得したCAANMsg[]を戻り値として返却"]
  S3 --> END["return msgList"]
  style S1 fill:#e0f7fa
  style S2 fill:#e0f7fa
  style S3 fill:#e0f7fa
```

**処理ステップ詳細:**
1. SC出力メッセージ配列（CAANMsg[] resultMsgs）の先頭要素を取得。
2. そのメッセージのデータ（HashMap）から、引数 `listKey` に対応するCAANMsg[]リストを取得。
3. 取得したリストをそのまま返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型         | 業務説明                               |
| --- | ------------ | ---------- | -------------------------------------- |
| 1   | resultMsgs   | CAANMsg[]  | SC呼出結果メッセージ配列               |
| 2   | listKey      | String     | 取得対象のリストキー                   |

---

#### 4. CRUD操作 / 呼出サービス

| CRUD | SC / CBS | SCコード | エンティティ / DB | 操作説明 |
| ---- | -------- | -------- | ----------------- | -------- |
| - | (なし — 直接DB/SC呼び出しなし) | - | - | サブメソッド経由で処理 |
#### 5. 依存トレース (Dependency Trace)

| # | 呼出元 (Screen/Batch) | 呼出チェーン (Full Path → 本メソッド) | 終端 (SC → CRUD → エンティティ) |
|---|---|---|---|
| 1 | `Screen:KKSV0004` | `KKSV0004OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → mappingListingSvcCompoOutMsg` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `callEKK0351B002SC` | private | オプションサービス契約一覧照会（サービス契約番号）SIFを呼び出し |
| 2 | `callEKK0351B010SC` | private | オプションサービス契約一覧照会（サービス契約番号）SIFを呼び出し |
| 3 | `callEKK1681B001SC` | private | 異動予約一覧照会<br> <br> |
---