---
title: "Business Logic — JKKBumpMdsCC.callEKK2101B501SC()"
file: "source/koptBp/ejbModule/com/fujitsu/futurity/bp/custom/common/JKKBumpMdsCC.java"
loc: 54
fqn: "com.fujitsu.futurity.bp.custom.common.JKKBumpMdsCC"
method: "callEKK2101B501SC"
---

# Business Logic — JKKBumpMdsCC.callEKK2101B501SC() [54 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKBumpMdsCC` |
| Layer | CC / Common Component (Shared Business Logic) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKBumpMdsCC.callEKK2101B501SC()

This method serves as the SIF (Service Interface) adapter for the **Address Change Detail List Inquiry 2** (EKK2101B501) screen. Its core purpose is to call the CBS (Central Business System) component EKK2101B501CBS to retrieve a list of address change details for a given service contract line item. In the Japanese domain, EKK2101B501 is known as _住所変更中住所変更明細一覧照会２_ ("Address Change During Address Change Detail List Inquiry 2"), and it is used during the address change workflow to display a table of current and previous address records associated with a service order.

The method implements the **delegate + request builder** pattern. It constructs the SIF request payload by combining shared input message setup (`editInMsgCmn`), domain-specific parameter mapping (`mappingEKK2101B501InMsg`), and common template wiring (`editBasicCmn`). It then delegates the actual service call to a `ServiceComponentRequestInvoker` and processes the response through response mapping (`editResultRP`), error checking (`errChk`), and outbound mapping (`mappingEKK2101B501SCOutMsg`).

As a **private shared utility**, this method is called by higher-level CC (Common Component) classes that orchestrate the address change screen flow. It acts as the boundary between the custom business logic layer and the underlying CBS service, translating between the platform's SIF request/response structures and the domain-specific EKK2101B501 CBS message format.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["callEKK2101B501SC()"])
    START --> INIT["Initialize local variables: sIFRequest, resultMsgs, template, scCall, sIFResult, status = 0"]
    INIT --> EDITIN["editInMsgCmn(param)"]
    EDITIN --> EDITIN_RET["Set sIFRequest = editInMsgCmn result"]
    EDITIN_RET --> NEWMSG["Create CAANMsg template using EKK2101B501CBSMsg class"]
    NEWMSG --> MAPIN["mappingEKK2101B501InMsg(template, inHash, svcKeiUcwkNo, svckeino)"]
    MAPIN --> EDITBASIC["editBasicCmn(param, template)"]
    EDITBASIC --> PUTTEMPLATE["sIFRequest.put(TEMPLATE_LIST_KEY, new CAANMsg[]{template})"]
    PUTTEMPLATE --> NEWSERVICE["Create ServiceComponentRequestInvoker scCall"]
    NEWSERVICE --> RUNSIF["scCall.run(sIFRequest, handle)"]
    RUNSIF --> SETRESULT["Set sIFResult = scCall.run result"]
    SETRESULT --> EDITRESULT["editResultRP(sIFResult, param)"]
    EDITRESULT --> ERRCHECK["errChk(sIFResult)"]
    ERRCHECK --> GETMESSAGES["resultMsgs = sIFResult.get(TEMPLATE_LIST_KEY) cast to CAANMsg[]"]
    GETMESSAGES --> GETSTATUS["status = template.getInt(STATUS_INT_KEY)"]
    GETSTATUS --> CHECKSTATUS{status == 0}
    CHECKSTATUS -->|Yes| PUTRESULT["resultHash.put(TEMPLATE_ID_EKK2101B501, mappingEKK2101B501SCOutMsg(resultMsgs))"]
    CHECKSTATUS -->|No| RETSTATUS["Return status"]
    PUTRESULT --> RETSTATUS
    RETSTATUS --> END_NODE(["Return status"])
```

**Processing summary:** The method follows a linear pipeline with a single conditional at the end. Steps 1–5 build the SIF request: (1) extract the shared input map from the request parameter, (2) create a typed CBS message template, (3) populate it with domain-specific input parameters, (4) wire the template into the SIF request via `editBasicCmn`, and (5) register the template in the SIF request map. Steps 6–8 execute the service call and process the result: (6) invoke `scCall.run()` to dispatch to the CBS, (7) map the response back into the request parameter, (8) check for errors (throwing if any). Steps 9–11 extract the status code and result messages: (9) retrieve the `CAANMsg[]` array from the SIF result, (10) read the status integer from the template, and (11) conditionally — only if `status == 0` (success) — place the mapped output data into `resultHash` under the key `TEMPLATE_ID_EKK2101B501 = "EKK2101B501"`.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | The request parameter object carrying bidirectional data flow between the caller and this method. Used to extract the shared input map (`editInMsgCmn`) and receive the mapped result (`editResultRP`). |
| 2 | `handle` | `SessionHandle` | The session handle providing the transaction and authentication context for the CBS service call via `scCall.run()`. |
| 3 | `inHash` | `HashMap<String, Object>` | The input condition hash containing the search parameters for the address change detail list inquiry. Mapped into the CBS message template by `mappingEKK2101B501InMsg`. |
| 4 | `resultHash` | `HashMap<String, Object>` | The output hash where the result list is stored. On successful invocation (`status == 0`), the mapped `CAANMsg[]` list is placed under the key `TEMPLATE_ID_EKK2101B501 = "EKK2101B501"`. |
| 5 | `svcKeiUcwkNo` | `String` | Service detail work number — an internal tracking ID for service contract line items. Used as part of the CBS message mapping to identify the specific service contract record whose address change details are being queried. |
| 6 | `svckeino` | `String` | Service contract number — identifies the service contract. Used as part of the CBS message mapping to narrow the address change detail inquiry to the correct contract. |

**External / instance fields read:** None. This method is fully stateless and does not access any instance fields.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `ACSV0001Flow.run` | ACSV0001Flow | - | Calls `run` in `ACSV0001Flow` (via `editInMsgCmn`) |
| R | `CNSV0036OPOperation.run` | CNSV0036OPOperation | - | Calls `run` in `CNSV0036OPOperation` (via `editInMsgCmn`) |
| R | `CNSV0037Flow.run` | CNSV0037Flow | - | Calls `run` in `CNSV0037Flow` (via `editInMsgCmn`) |
| R | `CNSV0037OPOperation.run` | CNSV0037OPOperation | - | Calls `run` in `CNSV0037OPOperation` (via `editInMsgCmn`) |
| R | `CNSV0038Flow.run` | CNSV0038Flow | - | Calls `run` in `CNSV0038Flow` (via `editInMsgCmn`) |
| U | `JKKBumpMdsCC.editBasicCmn` | JKKBumpMdsCC | - | Calls `editBasicCmn` in `JKKBumpMdsCC` to wire the CBS template into the SIF request |
| U | `JKKBumpMdsCC.editInMsgCmn` | JKKBumpMdsCC | - | Calls `editInMsgCmn` in `JKKBumpMdsCC` to extract shared input message data |
| U | `JKKBumpMdsCC.editResultRP` | JKKBumpMdsCC | - | Calls `editResultRP` in `JKKBumpMdsCC` to map the SIF response back to the request parameter |
| - | `JKKBumpMdsCC.errChk` | JKKBumpMdsCC | - | Calls `errChk` in `JKKBumpMdsCC` to check the result for error conditions |
| - | `JKKBumpMdsCC.mappingEKK2101B501InMsg` | JKKBumpMdsCC | - | Calls `mappingEKK2101B501InMsg` in `JKKBumpMdsCC` to map input parameters into the CBS message |
| - | `JKKBumpMdsCC.mappingEKK2101B501SCOutMsg` | JKKBumpMdsCC | - | Calls `mappingEKK2101B501SCOutMsg` in `JKKBumpMdsCC` to transform the `CAANMsg[]` response into a `HashMap` for `resultHash` |
| R | `SCW00701SFLogic.getName` | SCW00701SFLogic | - | Calls `getName` in `SCW00701SFLogic` (invoked transitively via `editInMsgCmn` chain) |
| R | `EKK2101B501CBS` | EKK2101B501CBS | Address change detail tables | The CBS service component invoked via `scCall.run()` — queries the address change detail list for the given service contract |

**CRUD Summary:** This method is a **Read** operation at the CBS boundary. It queries the address change detail list without modifying any database entities. The intermediate CC methods (`editInMsgCmn`, `editBasicCmn`, `editResultRP`, `errChk`) perform data structure mutations (U) on local maps and message objects, but no write/create/delete operations reach the database.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | (none active) | `callEKK2101B501SC` is currently unused — the only caller reference in the codebase is in commented-out code within `JKKBumpMdsCC` itself (line 421, ANK-2995-00-00 DEL START) | `EKK2101B501CBS [R] Address change detail list` |

**Caller analysis:** The method `callEKK2101B501SC` is declared `private` and is only referenced in commented-out code within `JKKBumpMdsCC` (lines 412–439, marked with `// ANK-2995-00-00 DEL START`). This suggests the method was previously used in the address change form flow (likely by a method such as `callADCHK` or `callADCHGFLG` in the same class) and has since been removed from active call chains. Other classes in the codebase (e.g., `JKKSyuKeiStabunKikiStaAddCC`, `KKKikiIchiranIkkatsuCC`, `KKKikiAddCC`, `KKKikiIchiranKkCreateCC`, `KKShkaFinJiKikiStaAddCC`) have their own `execEKK2101B501` methods that call the EKK2101B501 CBS directly — they do not delegate to this `callEKK2101B501SC` method. The method remains in the codebase potentially as a reusable utility for future address change flow modifications.

## 6. Per-Branch Detail Blocks

**Block 1** — [LET] Variable Initialization (L1152)

> Initialize all local variables to their default values before processing begins.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sIFRequest = null` |
| 2 | SET | `resultMsgs = null` |
| 3 | SET | `template = null` |
| 4 | SET | `scCall = null` |
| 5 | SET | `sIFResult = null` |
| 6 | SET | `status = 0` |

**Block 2** — [EXEC] SIF Shared Input Message Extraction (L1160)

> Extract the shared input message map from the request parameter. The Japanese comment says: _サービスIF共通の情報を設定_ ("Set service IF common information"). This is a standard platform-level step that prepares the SIF request framework.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `sIFRequest = editInMsgCmn(param)` | Extract shared SIF input data from the request parameter object. Transitively invokes ACSV0001Flow, CNSV0036OPOperation, CNSV0037Flow, CNSV0037OPOperation, CNSV0038Flow, and SCW00701SFLogic.getName. Returns a `HashMap<String, Object>` containing the shared SIF request data. |

**Block 3** — [EXEC] CBS Message Template Creation (L1163)

> Create a typed CBS message template using the EKK2101B501CBSMsg class. The template will be populated with parameters and wired into the SIF request. Japanese comment: _EKK2101B501への呼び出しパラメータ設定_ ("Set call parameters to EKK2101B501").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `template = new CAANMsg(EKK2101B501CBSMsg.class.getName())` | Instantiate a typed CBS message using the EKK2101B501CBSMsg class definition. This template carries all input parameters for the EKK2101B501 CBS service call. |

**Block 4** — [EXEC] Domain Parameter Mapping (L1164)

> Map the input parameters into the CBS message template. Japanese comment: _EKK2101B501への呼び出しパラメータ設定_ ("Set call parameters to EKK2101B501").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `mappingEKK2101B501InMsg(template, inHash, svcKeiUcwkNo, svckeino)` | Populate the CBS message template with the input hash, service detail work number, and service contract number. These parameters identify the specific service contract record for which address change details are being queried. |

**Block 5** — [EXEC] Basic SIF Configuration (L1165)

> Wire the CBS template into the SIF request structure and apply basic SIF settings. Japanese comment: _EKK2101B501への呼び出しパラメータ設定_ ("Set call parameters to EKK2101B501").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `editBasicCmn(param, template)` | Apply common SIF configuration to the request, binding the template to the SIF request structure. This ensures the CBS message template is correctly associated with the SIF invocation context. |

**Block 6** — [EXEC] Register Template in SIF Request (L1168)

> Register the template message list into the SIF request map.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `sIFRequest.put(JCMConstants.TEMPLATE_LIST_KEY, new CAANMsg[]{template})` | Store the template array in the SIF request map under the key `JCMConstants.TEMPLATE_LIST_KEY`. This is the standard platform mechanism to tell the SIF runtime which CBS message templates to process. |

**Block 7** — [EXEC] Service Component Request Invoker Creation (L1171)

> Create the invocation bridge to the CBS layer.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `scCall = new ServiceComponentRequestInvoker()` | Instantiate the service component request invoker, which handles the platform-level service dispatch, serialization, and deserialization for the CBS call. |

**Block 8** — [EXEC] SIF Service Invocation (L1174)

> Execute the actual CBS service call. Japanese comment: _SIFの呼び出し_ ("SIF invocation").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `sIFResult = scCall.run(sIFRequest, handle)` | Dispatch the SIF request to the CBS layer. This calls EKK2101B501CBS which queries the address change detail list from the database. Returns a `Map<?, ?>` containing the CBS response and metadata. |

**Block 9** — [EXEC] Response Mapping (L1177)

> Map the SIF response back into the request parameter. Japanese comment: _エラーマッピング処理_ ("Error mapping processing").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `editResultRP(sIFResult, param)` | Transfer the CBS response data from the SIF result map into the request parameter object. This makes the result data accessible to the caller through `param`. |

**Block 10** — [EXEC] Error Checking (L1180)

> Check for errors in the SIF result and throw an exception if any are found. Japanese comment: _エラーチェック_ ("Error check").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `errChk(sIFResult)` | Validate the SIF result for error conditions. If errors are detected, throws `RequestParameterException` or `SCException` as documented. Processing does not continue if this throws. |

**Block 11** — [EXEC] Retrieve Result Messages (L1183)

> Extract the `CAANMsg[]` array from the SIF result. Japanese comment: _結果の取得_ ("Retrieve results").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `resultMsgs = (CAANMsg[]) sIFResult.get(JCMConstants.TEMPLATE_LIST_KEY)` | Retrieve the list of CBS response messages from the SIF result map. Cast to `CAANMsg[]` — each element represents one row in the address change detail list. |

**Block 12** — [EXEC] Retrieve Status Code (L1186)

> Extract the status code from the template. Japanese comment: _ステータスコードの取得_ ("Retrieve status code").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `status = template.getInt(JCMConstants.STATUS_INT_KEY)` | Read the integer status code from the CBS message template. `0` indicates success (normal termination), any non-zero value indicates an error or warning condition. |

**Block 13** — [IF] Success Check (L1189)

> If the status code is 0, map the output messages into `resultHash`. Japanese comment: _ステータスが0以外はエラーとなっている_ ("If status is not 0, it is an error").

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | SET | `resultHash.put(TEMPLATE_ID_EKK2101B501, mappingEKK2101B501SCOutMsg(resultMsgs))` | Only when `status == 0` (success): transform the `CAANMsg[]` result messages into a `HashMap` via `mappingEKK2101B501SCOutMsg`, then store it in `resultHash` under the key `TEMPLATE_ID_EKK2101B501 = "EKK2101B501"`. The caller (e.g., a screen CC method) will later retrieve this key to populate the address change detail list display. |

**Block 13.1** — [ELSE] Implicit non-zero status (L1189)

> When `status != 0`, the result is NOT placed into `resultHash`. The caller receives a non-zero return code and must handle the error condition.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | EXEC | (none — no action taken) | Status is non-zero; the method skips result mapping. The error is signaled by the return value. |

**Block 14** — [RETURN] Return Status Code (L1193)

> Return the status code from the CBS invocation.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | RETURN | `return status` | Return `0` on success (and `resultHash` now contains the address change detail list) or a non-zero error code on failure. |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svcKeiUcwkNo` | Field | Service detail work number — internal tracking ID for a service contract line item during modification workflows. Used to uniquely identify the specific service contract record being queried. |
| `svckeino` | Field | Service contract number — the unique identifier for a service contract. Together with `svcKeiUcwkNo`, it identifies the exact service record for address detail lookup. |
| `inHash` | Field | Input condition hash — a map containing search parameters passed to the CBS for filtering the address change detail list. |
| `resultHash` | Field | Result hash — the output map where the method stores the address change detail list under the key `EKK2101B501` when the call succeeds. |
| EKK2101B501 | Screen ID | Address Change During Address Change Detail List Inquiry 2 (_住所変更中住所変更明細一覧照会２_) — a screen/service for displaying a list of address change details (both current and previous addresses) during the address change workflow. |
| EKK2101B501CBS | CBS Class | The Central Business System component that implements the EKK2101B501 screen's data access logic. Queries the address change detail data from the database. |
| EKK2101B501CBSMsg | Message Class | The typed message class representing the CBS request payload for EKK2101B501. Defines the structure and field keys of the request. |
| EKK2101B501CBSMsg1List | Message List Class | The typed message list class representing the CBS response — an array/list of address change detail records. |
| TEMPLATE_ID_EKK2101B501 | Constant | Template ID string `"EKK2101B501"` — used as the key to store and retrieve the result list in `resultHash`. Defined as `private static final String` in `JKKBumpMdsCC`. |
| TEMPLATE_LIST_KEY | Constant | SIF framework key used to store and retrieve the message template list in the SIF request/result maps. Defined in `JCMConstants`. |
| STATUS_INT_KEY | Constant | SIF framework key used to retrieve the integer status code from the CBS message template. Defined in `JCMConstants`. |
| SIF | Acronym | Service Interface — the Fujitsu platform layer that handles service invocation, serialization, and response handling between the custom business logic and the CBS layer. |
| CBS | Acronym | Central Business System — the backend service components that implement core business operations and data access. |
| SC | Acronym | Service Component — a unit of business logic in the CBS layer, identified by codes like `EKK2101B501CBS`. |
| CAANMsg | Class | A platform message class representing a single CBS message record. Each instance holds the fields of one row of data from a CBS response. |
| ServiceComponentRequestInvoker | Class | The platform class that orchestrates the SIF service invocation — serializes the request, dispatches to the CBS, and deserializes the response. |
| `IRequestParameterReadWrite` | Interface | The bidirectional request parameter interface used across the platform for data exchange between screens, CC methods, and services. |
| `SessionHandle` | Class | The session context handle providing transaction, security, and persistence context for CBS operations. |
| errChk | Method | Error checking utility — validates SIF results and throws exceptions for error conditions. |
| editInMsgCmn | Method | Shared input message extraction — prepares the SIF request framework by extracting common input data. |
| editBasicCmn | Method | Basic SIF configuration — wires CBS templates into the SIF request structure. |
| editResultRP | Method | Result response mapping — maps CBS response data from the SIF result back into the request parameter. |
| mappingEKK2101B501InMsg | Method | Input parameter mapping — populates the EKK2101B501 CBS message template with domain-specific parameters. |
| mappingEKK2101B501SCOutMsg | Method | Service call output mapping — transforms the `CAANMsg[]` CBS response into a `HashMap` for storage in `resultHash`. |
| ANK-2995-00-00 | Change Ticket | A change ticket/patch identifier. The caller reference to this method in the code is commented out under this ticket (DEL START marker), indicating the call was removed as part of this change. |
