# ⑥ 業務ロジック — Service Call (SC): 2 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-callEKK1081C011SC"></a>
### callEKK1081C011SC()

---

#### 1. 役割

同一処理番号採番（EKK1081C011）を呼び出すためのサービスコンポーネント呼出メソッド。  
具体的には、パラメータ`param`に格納された業務データを元に、サービスIF共通情報を編集し、採番処理用のリクエストメッセージ（CAANMsg）を生成する。その後、外部サービスコンポーネント（SC）を呼び出して同一処理番号を採番し、結果をresultHashに格納する。さらに、処理結果のステータス・エラー情報を取得してコントロールマップに設定し、エラーが存在する場合は例外をスローするまでを一連で制御する。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["callEKK1081C011SC（param, handle, inHash, resultHash, funcCode）"] --> S1["Step1: サービスIF共通情報を設定 （editInMsgCmn）"]
  S1 --> S2["Step2: CAANMsgテンプレート生成（EKK1081C011CBSMsg）"]
  S2 --> S3["Step3: mappingEKK1081C011SCInMsg（template, inHash, funcCode）inHash・funcCodeを基に入力マッピング"]
  S3 --> S4["Step4: editBasicCmn（param, template）共通部情報の設定"]
  S4 --> S5["Step5: sIFRequestにCAANMsg[]をセット（JCMConstants.TEMPLATE_LIST_KEY）"]
  S5 --> S6["Step6: SC呼出クラスServiceComponentRequestInvoker生成"]
  S6 --> S7["Step7: sIFResult = scCall.run（sIFRequest, handle）サービスIF呼出"]
  S7 --> S8["Step8: 結果CAANMsg[]取得"]
  S8 --> S9["Step9: ステータスコード取得（template.getInt（JCMConstants.STATUS_INT_KEY））"]
  S9 --> IF1{"'status == 0' の判定"}
  IF1 -.- NOTE_IF1["JCMConstants.STATUS_INT_KEY = 'status' （サービスIF呼出結果ステータス）"]
  IF1 -->|"Yes: 正常"| S10["Step10: 採番結果をresultHashにセット（JKKHakkoSODConstCC.TEMPLATE_ID_EKK1081C011）"]
  IF1 -->|"No: 異常"| S11["Step11: エラー情報編集（editErrorInfoEKK1081C011CBS）"]
  S10 --> S12["Step12: エラー情報編集（editErrorInfoEKK1081C011CBS）"]
  S11 --> S12
  S12 --> S13["Step13: コントロールマップからエラーリスト取得（SCControlMapKeys.ERROR_INFO）"]
  S13 --> IF2{"エラーリストがnullか"}
  IF2 -->|"Yes: nullの場合"| S14["Step14: 空リストを作成"]
  IF2 -->|"No: あり"| S15["Step15: そのまま使用"]
  S14 --> S16["Step16: コントロールマップにTemplateErrorUtil.getErrorInfo（sIFResult, errList）を設定"]
  S15 --> S16
  S16 --> IF3{"エラーリストが空でないか"}
  IF3 -->|"Yes: エラーあり"| S17["Step17: CCExceptionスロー（SCCallException, status, resultMsgs[0].getInt（EKK1081C011CBSMsg.STATUS））"]
  IF3 -->|"No: 空"| RET["return status"]
  S17 --> END["例外処理"]
  RET --> END
  style IF1 fill:#ffcc00
  style IF2 fill:#ffcc00
  style IF3 fill:#ffcc00
```

**処理ステップ詳細:**

1. サービスIF共通の情報を設定するため`editInMsgCmn(param)`を呼び出し共通情報をセット。
2. EKK1081C011CBSMsg型のCAANMsgテンプレートオブジェクトを生成。
3. `mappingEKK1081C011SCInMsg(template, inHash, funcCode)`で、入力パラメータ（inHash, funcCode）をテンプレートにマッピング。
4. `editBasicCmn(param, template)`でパラメータに共通部情報を設定。
5. sIFRequest（リクエスト用Map）にJCMConstants.TEMPLATE_LIST_KEYでCAANMsg[]を格納。
6. SC呼び出し用インスタンスServiceComponentRequestInvokerを生成。
7. `sIFResult = scCall.run(sIFRequest, handle)`でサービスIF（SC）を呼び出し、実際に採番処理を実施。
8. SC呼び出し結果からCAANMsg[] resultMsgsを取得。
9. templateから`JCMConstants.STATUS_INT_KEY`により処理ステータス（int）を取得。
10. ステータスが0の場合（正常終了）、resultHashに`JKKHakkoSODConstCC.TEMPLATE_ID_EKK1081C011`をキーとして`mappingEKK1081C011SCOutMsg(resultMsgs)`で採番結果を格納。
11. ステータスが0以外の場合、`editErrorInfoEKK1081C011CBS(param, resultMsgs, status)`でparamにエラー情報を編集して設定。
12. paramからコントロールマップキー`SCControlMapKeys.ERROR_INFO`でエラー情報リストを取得。nullの場合は空リストに。
13. コントロールマップに`TemplateErrorUtil.getErrorInfo(sIFResult, errList)`でエラー情報を再設定。
14. エラーリストが空でなければ例外（CCException）をスロー。エラーがなければstatus（int）を返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型                         | 業務説明                                              |
| --- | ------------ | -------------------------- | ----------------------------------------------------- |
| 1   | param        | IRequestParameterReadWrite | リクエスト/レスポンスパラメータ（業務データコンテナ） |
| 2   | handle       | SessionHandle              | セッション管理ハンドル                                |
| 3   | inHash       | HashMap<String, Object>    | SC入力パラメータ情報                                  |
| 4   | resultHash   | HashMap<String, Object>    | SC実行結果格納用マップ                                |
| 5   | 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 → callEKK1081C011SC` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → callEKK1081C011SC` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `getSame_trn_no` | private | 同一処理番号採番処理 |

---

#### 📋 Per-Branch 詳細ブロック — `callEKK1081C011SC()`

> 各分岐を制御フロー構造に従い、ブロック単位で表示します（depth に応じたネスト）。

##### Block 1 — 🔀 IF `(status == 0)` (L26924)

> 📌 ステータスが0以外はエラーとなっている

| # | 種別 | 処理内容 |
|---|---|---|
| 1 | 📋 SET | `resultHash.put(` |
| 2 | ⚡ EXEC | `mappingEKK1081C011SCOutMsg(resultMsgs));` |

##### Block 2 — 🔀 IF `(errList == null)` (L26938)

> 📌 エラー情報のマップを取得

| # | 種別 | 処理内容 |
|---|---|---|
| 1 | ⚡ EXEC | `errList = new ArrayList<Object>();` |

##### Block 3 — 🔀 IF `(errList != null && !errList.isEmpty())` (L26946)

> 📌 エラー発生時はExceptionを設定

| # | 種別 | 処理内容 |
|---|---|---|
| 1 | 💥 THROW | `throw new CCException("", new SCCallException("", ((Integer)status).toString(), resultMsgs[0].getInt(EKK1081C011CBSMsg.STATUS)));` |

> **合計**: 3 blocks (1 depth levels)

### callEKK0401A010SC()

---

#### 1. 役割

サブオプションサービス契約一意照会（EKK0401A010）を呼び出すためのサービスコンポーネント呼出メソッド。  
具体的には、入力パラメータ（param, inHash, funcCode）から共通部情報や対象条件をメッセージにマッピングし、外部サービスコンポーネント（SC）を呼び出してサブオプションサービス契約情報の一意照会を行う。結果データをresultHashに格納し、SC呼出後はエラー情報を取得・格納、エラー発生時には例外スローまでを一連で制御する。

---

#### 2. 処理パターン（詳細ビジネスロジック）

```mermaid
---
config:
  securityLevel: loose
  flowchart:
    useMaxWidth: false
    htmlLabels: true
    curve: basis
---
flowchart TD
  START["callEKK0401A010SC（param, handle, inHash, resultHash, funcCode）"] --> S1["Step1: サービスIF共通情報を設定 （editInMsgCmn）"]
  S1 --> S2["Step2: CAANMsgテンプレート生成（EKK0401A010CBSMsg）"]
  S2 --> S3["Step3: mappingEKK0401A010SCInMsg（template, inHash, funcCode）inHash・funcCodeを基に入力マッピング"]
  S3 --> S4["Step4: editBasicCmn（param, template）共通部情報の設定"]
  S4 --> S5["Step5: sIFRequestにCAANMsg[]をセット（JCMConstants.TEMPLATE_LIST_KEY）"]
  S5 --> S6["Step6: SC呼出クラスServiceComponentRequestInvoker生成"]
  S6 --> S7["Step7: sIFResult = scCall.run（sIFRequest, handle）サービスIF呼出"]
  S7 --> S8["Step8: 結果CAANMsg[]取得"]
  S8 --> S9["Step9: ステータスコード取得（template.getInt（JCMConstants.STATUS_INT_KEY））"]
  S9 --> IF1{"'status == 0' の判定"}
  IF1 -.- NOTE_IF1["JCMConstants.STATUS_INT_KEY = 'status' （サービスIF呼出結果ステータス）"]
  IF1 -->|"Yes: 正常"| S10["Step10: 照会結果をresultHashにセット（JKKHakkoSODConstCC.TEMPLATE_ID_EKK0401A010）"]
  IF1 -->|"No: 異常"| S11["Step11: エラー情報編集（editErrorInfoEKK0401A010CBS）"]
  S10 --> S12["Step12: エラー情報編集（editErrorInfoEKK0401A010CBS）"]
  S11 --> S12
  S12 --> S13["Step13: コントロールマップからエラーリスト取得（SCControlMapKeys.ERROR_INFO）"]
  S13 --> IF2{"エラーリストがnullか"}
  IF2 -->|"Yes: nullの場合"| S14["Step14: 空リストを作成"]
  IF2 -->|"No: あり"| S15["Step15: そのまま使用"]
  S14 --> S16["Step16: コントロールマップにTemplateErrorUtil.getErrorInfo（sIFResult, errList）を設定"]
  S15 --> S16
  S16 --> IF3{"エラーリストが空でないか"}
  IF3 -->|"Yes: エラーあり"| S17["Step17: CCExceptionスロー（SCCallException, status, resultMsgs[0].getInt（EKK0401A010CBSMsg.STATUS））"]
  IF3 -->|"No: 空"| RET["return status"]
  S17 --> END["例外処理"]
  RET --> END
  style IF1 fill:#ffcc00
  style IF2 fill:#ffcc00
  style IF3 fill:#ffcc00
```

**処理ステップ詳細:**

1. サービスIF共通の情報を設定するため`editInMsgCmn(param)`を呼び出し共通情報をセット。
2. EKK0401A010CBSMsg型のCAANMsgテンプレートオブジェクトを生成。
3. `mappingEKK0401A010SCInMsg(template, inHash, funcCode)`で、入力パラメータ（inHash, funcCode）をテンプレートにマッピング。
4. `editBasicCmn(param, template)`でパラメータに共通部情報を設定。
5. sIFRequest（リクエスト用Map）にJCMConstants.TEMPLATE_LIST_KEYでCAANMsg[]を格納。
6. SC呼び出し用インスタンスServiceComponentRequestInvokerを生成。
7. `sIFResult = scCall.run(sIFRequest, handle)`でサービスIF（SC）を呼び出し、サブオプションサービス契約一意照会を実施。
8. SC呼び出し結果からCAANMsg[] resultMsgsを取得。
9. templateから`JCMConstants.STATUS_INT_KEY`により処理ステータス（int）を取得。
10. ステータスが0の場合（正常終了）、resultHashに`JKKHakkoSODConstCC.TEMPLATE_ID_EKK0401A010`をキーとして`mappingEKK0401A010SCOutMsg(resultMsgs)`で照会結果を格納。
11. ステータスが0以外の場合、`editErrorInfoEKK0401A010CBS(param, resultMsgs, status)`でparamにエラー情報を編集して設定。
12. paramからコントロールマップキー`SCControlMapKeys.ERROR_INFO`でエラー情報リストを取得。nullの場合は空リストに。
13. コントロールマップに`TemplateErrorUtil.getErrorInfo(sIFResult, errList)`でエラー情報を再設定。
14. エラーリストが空でなければ例外（CCException）をスロー。エラーがなければstatus（int）を返却。

---

#### 3. パラメータ分析

| No  | パラメータ名 | 型                         | 業務説明                                              |
| --- | ------------ | -------------------------- | ----------------------------------------------------- |
| 1   | param        | IRequestParameterReadWrite | リクエスト/レスポンスパラメータ（業務データコンテナ） |
| 2   | handle       | SessionHandle              | セッション管理ハンドル                                |
| 3   | inHash       | HashMap<String, Object>    | SC入力パラメータ情報                                  |
| 4   | resultHash   | HashMap<String, Object>    | SC実行結果格納用マップ                                |
| 5   | 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 → callEKK0401A010SC` | - |
| 2 | `Screen:KKSV0008` | `KKSV0008OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 3 | `Screen:KKSV0009` | `KKSV0009OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 4 | `Screen:KKSV0031` | `KKSV0031OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 5 | `Screen:KKSV0073` | `KKSV0073OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 6 | `Screen:KKSV0136` | `KKSV0136OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 7 | `Screen:KKSV0162` | `KKSV0162OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 8 | `Screen:KKSV0428` | `KKSV0428OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 9 | `Screen:KKSV0429` | `KKSV0429OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |
| 10 | `Screen:KKSV0430` | `KKSV0430OPBPCheck.invokeCheck → getInvokeCBS → callEKK0401A010SC` | - |

##### 5.1 内部呼出元 (Internal Callers)

> 同クラス内で本メソッドを呼び出す内部メソッドの一覧です。

| # | 呼出元メソッド (Internal Caller) | 可視性 | 説明 (Javadoc抜粋) |
|---|---|---|---|
| 1 | `opHktgiOdrCtrl` | private | オプション引継オーダ制御処理<br> |
| 2 | `opSetOdrCtrl` | private | オプション設定オーダ制御処理<br> |
---
---

#### 📋 Per-Branch 詳細ブロック — `callEKK0401A010SC()`

> 各分岐を制御フロー構造に従い、ブロック単位で表示します（depth に応じたネスト）。

##### Block 1 — 🔀 IF `(status == 0)` (L27458)

> 📌 ステータスが0以外はエラーとなっている

| # | 種別 | 処理内容 |
|---|---|---|
| 1 | 📋 SET | `resultHash.put(` |
| 2 | ⚡ EXEC | `mappingEKK0401A010SCOutMsg(resultMsgs));` |

##### Block 2 — 🔀 IF `(errList == null)` (L27470)

> 📌 エラー情報のマップを取得

| # | 種別 | 処理内容 |
|---|---|---|
| 1 | ⚡ EXEC | `errList = new ArrayList<Object>();` |

##### Block 3 — 🔀 IF `(errList != null && !errList.isEmpty())` (L27478)

> 📌 エラー発生時はExceptionを設定

| # | 種別 | 処理内容 |
|---|---|---|
| 1 | 💥 THROW | `throw new CCException("", new SCCallException("", ((Integer)status).toString(), resultMsgs[0].getInt(EKK0401A010CBSMsg.STATUS)));` |

> **合計**: 3 blocks (1 depth levels)



---

## 📋 全分岐詳細 (deterministic per-branch table)

> 以下のテーブルはソースコードから deterministic に生成されたものです。全条件分岐を網羅します。

### 📞 Screen/Batch 呼び出し元 (External Entry Points)

> このクラスを呼び出すScreen/Batchの一覧です（クラスレベルの呼び出し元）。
> **「呼出チェーン」列**: CC直接エントリメソッド → IntraClass経由 → 本チャンクの対象メソッド（**太字**）の実際の呼出パス。
> ※ 例: `CCエントリメソッド → 中間メソッド → **対象メソッド**` — 左端がCC入口、太字が本チャンクの対象メソッド。
> **「種別」列**: BPCheck＝業務確認チェック, Batch＝バッチ処理, Operation＝オペレーション, CC＝制御クラス。

| # | Screen/Batch | 種別 | 呼び出しクラス | 呼び出しメソッド | 呼出チェーン（CC入口 → IntraClass → 対象） |
|---|---|---|---|---|---|
| 1 | `KKSV0004` | BPCheck | `KKSV0004OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 2 | `KKSV0008` | BPCheck | `KKSV0008OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 3 | `KKSV0009` | BPCheck | `KKSV0009OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 4 | `KKSV0031` | BPCheck | `KKSV0031OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 5 | `KKSV0073` | BPCheck | `KKSV0073OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 6 | `KKSV0136` | BPCheck | `KKSV0136OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 7 | `KKSV0162` | BPCheck | `KKSV0162OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 8 | `KKSV0428` | BPCheck | `KKSV0428OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 9 | `KKSV0429` | BPCheck | `KKSV0429OPBPCheck` | `invokeCheck` | `getInvokeCBS` |
| 10 | `KKSV0430` | BPCheck | `KKSV0430OPBPCheck` | `invokeCheck` | `getInvokeCBS` |

## ③.6 制御フロー分岐 (Control Flow Branching)

### `callEKK0401A010SC()` (L27417) — 5 branches

| # | 種別 | 深度 | 条件 | 説明 | 定数値 | 呼出メソッド | 行番号 |
|---|---|---|---|---|---|---|---|
| 1 | 🔀 IF | D0 | (status == 0) | エラー情報のマップを取得 | - | `mappingEKK0401A010SCOutMsg()`, `editErrorInfoEKK0401A010CBS()` | L27458 |
| 2 | 🔀 IF | D0 | (errList == null) | エラー発生時はExceptionを設定 | - | - | L27470 |
| 3 | 🔀 IF | D0 | (errList != null && !errList.isEmpty()) | - | - | - | L27478 |
| 4 | · ⚠️ THROW | D1 | new CCException("", new SCCallException("", ((Integer)status).toString(), resultMsgs[0].getInt(EKK0401A010CBSMsg.STATUS))) | - | - | - | L27480 |
| 5 | ↩️ RETURN | D0 | status | - | - | - | L27483 |

```mermaid
%%{init: {"securityLevel": "loose"}}%%
flowchart TD
  START["callEKK0401A010SC()"] --> CF0{"制御フロー分岐"}
  B0["IF: （status == 0）"]
  CF0 -->|"L27458"| B0
  B1["IF: （errList == null）"]
  CF0 -->|"L27470"| B1
  subgraph SG2["IF: （errList != null && !errList.isEmpty（））"]
    direction TB
    C2_0["THROW: new CCException（'', new SCCall…"]
  end
  CF0 -->|"L27478"| SG2
  B3["RETURN: status"]
  CF0 -->|"L27483"| B3
```

### `callEKK1081C011SC()` (L26884) — 5 branches

| # | 種別 | 深度 | 条件 | 説明 | 定数値 | 呼出メソッド | 行番号 |
|---|---|---|---|---|---|---|---|
| 1 | 🔀 IF | D0 | (status == 0) | エラー情報の設定 | - | `mappingEKK1081C011SCOutMsg()`, `editErrorInfoEKK1081C011CBS()` | L26924 |
| 2 | 🔀 IF | D0 | (errList == null) | エラー発生時はExceptionを設定 | - | - | L26938 |
| 3 | 🔀 IF | D0 | (errList != null && !errList.isEmpty()) | - | - | - | L26946 |
| 4 | · ⚠️ THROW | D1 | new CCException("", new SCCallException("", ((Integer)status).toString(), resultMsgs[0].getInt(EKK1081C011CBSMsg.STATUS))) | - | - | - | L26948 |
| 5 | ↩️ RETURN | D0 | status | - | - | - | L26951 |

```mermaid
%%{init: {"securityLevel": "loose"}}%%
flowchart TD
  START["callEKK1081C011SC()"] --> CF0{"制御フロー分岐"}
  B0["IF: （status == 0）"]
  CF0 -->|"L26924"| B0
  B1["IF: （errList == null）"]
  CF0 -->|"L26938"| B1
  subgraph SG2["IF: （errList != null && !errList.isEmpty（））"]
    direction TB
    C2_0["THROW: new CCException（'', new SCCall…"]
  end
  CF0 -->|"L26946"| SG2
  B3["RETURN: status"]
  CF0 -->|"L26951"| B3
```

> **制御フロー合計**: 2 methods, 10 branches
