---
title: "Business Logic — JKKPopPwdShkkaRnkAddCC.callEKK1091D010SC()"
class: "JKKPopPwdShkkaRnkAddCC"
method: "callEKK1091D010SC"
fqn: "com.fujitsu.futurity.bp.custom.common.JKKPopPwdShkkaRnkAddCC.callEKK1091D010SC"
file: "source/koptBp/ejbModule/com/fujitsu/futurity/bp/custom/common/JKKPopPwdShkkaRnkAddCC.java"
loc: 48
---

# Business Logic — JKKPopPwdShkkaRnkAddCC.callEKK1091D010SC() [48 LOC]

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

## 1. Role

### JKKPopPwdShkkaRnkAddCC.callEKK1091D010SC()

This method acts as a **progress registration service interface (SIF) wrapper** for the EKK1091D010 Service Component. In the K-Opticom customer base system, `callEKK1091D010SC` is responsible for advancing the state of a service contract by calling an external service interface that performs progress registration (進捗登録 — *shincho toroku*). It follows a **delegation and routing pattern**: it prepares the incoming request message, maps business data into the SIF template, invokes the SIF layer via `callSvcInter`, and then conditionally maps the SIF response back into the caller's result hash.

The method serves as a **shared utility component** called by multiple higher-level components (e.g., `JKKBumpMdsCC`, `JKKFmtcelMskmInfoTrkmCC`, `JKKOrsjgsUseStpRunCC`, `JKKOpsvkeiTelIktAddCC`) across different business scenarios — including bulk metadata operations, format cell masking information tracking, optional usage stop execution, and optical service line telephone addition. Its role in the larger system is to abstract the repetitive boilerplate of SIF invocation (message creation, parameter mapping, status checking, result mapping) so that calling components can focus on domain-specific data preparation rather than inter-component communication mechanics.

The method has a single conditional branch: if the SIF returns a success status code (`status == 0`), it maps the outgoing SIF response data into `resultHash` under the `EKK1091D010` template key. Otherwise, it propagates the non-zero status code to the caller, signaling an error or exceptional condition in the progress registration process.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["callEKK1091D010SC(params)"])
    START --> SET_REQ["Set sIFRequest = editInMsgCmn(param)"]
    SET_REQ --> CRE_MSG["Create new CAANMsg with EKK1091D010CBSMsg class"]
    CRE_MSG --> MAP_IN["Call mappingEKK1091D010InMsg(template, inHash, svcKeiNo, resultHash, opSvcKeiNo, idoDtm)"]
    MAP_IN --> EDIT_BASIC["Call editBasicCmn(param, template)"]
    EDIT_BASIC --> PUT_TEMPLATE["sIFRequest.put(TEMPLATE_LIST_KEY, new CAANMsg[]{template})"]
    PUT_TEMPLATE --> CALL_SC["Call callSvcInter(handle, param, sIFRequest)"]
    CALL_SC --> GET_STATUS["status = template.getInt(STATUS_INT_KEY)"]
    GET_STATUS --> CHECK_STATUS{status == 0?}
    CHECK_STATUS -->|Yes| MAP_OUT["resultHash.put(TEMPLATE_ID_EKK1091D010, mappingEKK1091D010SCOutMsg(resultMsgs))"]
    CHECK_STATUS -->|No| RETURN_STATUS["Return status"]
    MAP_OUT --> RETURN_STATUS
    RETURN_STATUS --> END(["End"])
```

**Processing flow description:**

1. **Request message preparation**: Calls `editInMsgCmn(param)` to set up the common service IF request information, returning a HashMap `sIFRequest`.
2. **Template message creation**: Creates a new `CAANMsg` instance typed with `EKK1091D010CBSMsg.class`, which defines the message structure for the EKK1091D010 progress registration SIF.
3. **Input data mapping**: Calls `mappingEKK1091D010InMsg()` to populate the template with business data from `inHash`, including the service contract number (`svcKeiNo`), operation service contract number (`opSvcKeiNo`), and invocation timestamp (`idoDtm`).
4. **Basic message editing**: Calls `editBasicCmn(param, template)` to apply standard edits (e.g., template ID assignment, mandatory field validation).
5. **Request assembly**: Stores the prepared template in `sIFRequest` under `TEMPLATE_LIST_KEY`, forming the complete SIF request payload.
6. **Service interface invocation**: Calls `callSvcInter(handle, param, sIFRequest)` to execute the actual SIF call against the progress registration Service Component (EKK1091D010).
7. **Status extraction**: Reads the status code from the template using `STATUS_INT_KEY`.
8. **Conditional result mapping**: If `status == 0` (success), maps the SIF response into `resultHash` under the `TEMPLATE_ID_EKK1091D010` key (`EKK1091D010`). Otherwise, skips response mapping.
9. **Return**: Returns the status code to the caller.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `param` | `IRequestParameterReadWrite` | Request parameter interface carrying screen-level input data and configuration. Used by `editInMsgCmn` and `editBasicCmn` to build the SIF request envelope. |
| 2 | `handle` | `SessionHandle` | Database session handle for the current transaction context. Passed to `callSvcInter` to maintain transactional integrity during the SIF call. |
| 3 | `inHash` | `HashMap<String, Object>` | Input data map containing business parameters (e.g., progress registration reason details, update data) used by `mappingEKK1091D010InMsg` to populate the SIF request template. |
| 4 | `resultHash` | `HashMap<String, Object>` | Output result map where the SIF response data is written (under key `TEMPLATE_ID_EKK1091D010 = "EKK1091D010"`) upon successful progress registration. Also used by `mappingEKK1091D010InMsg` for bidirectional data sharing. |
| 5 | `svcKeiNo` | `String` | Service contract number (サービス契約番号) — the primary service contract line identifier being progressed. Used as a key parameter in the SIF request to identify which contract's progress is being registered. |
| 6 | `opSvcKeiNo` | `String` | Operation service contract number (操作サービス契約番号) — a secondary contract reference used during progress registration, possibly for linked or subordinate service lines. |
| 7 | `idoDtm` | `String` | Invocation timestamp (行動日時) — the date/time when the progress registration operation was executed. Represents the timestamp of the advancement action being registered. |

**No instance fields or external state** are read by this method — all dependencies are passed through parameters.

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis graph:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JKKPopPwdShkkaRnkAddCC.callSvcInter` | - | - | Delegates to SIF layer to invoke the EKK1091D010 progress registration service |
| U | `JKKPopPwdShkkaRnkAddCC.editBasicCmn` | - | - | Applies basic message editing (template ID, mandatory fields) to the SIF request |
| U | `JKKPopPwdShkkaRnkAddCC.editInMsgCmn` | - | - | Prepares and updates the common service IF request envelope from parameters |
| - | `JKKPopPwdShkkaRnkAddCC.mappingEKK1091D010InMsg` | - | - | Maps input data from `inHash` into the EKK1091D010 SIF request template |
| - | `JKKPopPwdShkkaRnkAddCC.mappingEKK1091D010SCOutMsg` | - | - | Maps EKK1091D010 SIF response data into a result Map for the caller |
| R | `SCW00701SFLogic.getName` | - | - | Called within `callSvcInter` / `editBasicCmn` path to retrieve naming/reference data |

**CRUD Classification:**

The primary CRUD operation performed by this method is **U (Update)** — specifically, it triggers the EKK1091D010 progress registration SIF which updates the service contract's progress/status in the database. The method itself does not directly access database tables; instead, it acts as a facade over the SIF layer.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| U | `callSvcInter` (→ EKK1091D010 CBS) | EKK1091D010 | Service progress status tables (via EKK1091D010 CBS) | Progress registration — updates the service contract's progress status to reflect the advancement operation |
| U | `editInMsgCmn` | JKKPopPwdShkkaRnkAddCC | N/A (in-memory message preparation) | Prepares the incoming SIF request message envelope |
| U | `editBasicCmn` | JKKPopPwdShkkaRnkAddCC | N/A (in-memory message preparation) | Applies standard message edits to the SIF template |
| U | `mappingEKK1091D010InMsg` | JKKPopPwdShkkaRnkAddCC | N/A (in-memory data mapping) | Maps input business data into the SIF request template |
| - | `callSvcInter` | - | - | Executes the SIF call to the EKK1091D010 service component |
| R | `mappingEKK1091D010SCOutMsg` | JKKPopPwdShkkaRnkAddCC | N/A (in-memory data mapping) | Reads SIF response and maps to caller's result map |

## 5. Dependency Trace

### Pre-computed evidence from code analysis graph:

No screen/batch entry points found within 8 hops. Direct callers found: 1 method.
Terminal operations from this method: `mappingEKK1091D010SCOutMsg` [-], `callSvcInter` [-], `editBasicCmn` [U], `mappingEKK1091D010InMsg` [-], `getName` [R], `editInMsgCmn` [U]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | CC:JKKPopPwdShkkaRnkAddCC | `mainProc()` -> `callEKK1091D010SC` | `callSvcInter [U] EKK1091D010 progress registration` |

**Additional callers from cross-component analysis:**

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 2 | CC:JKKBumpMdsCC | `mainProc()` -> bulk metadata processing -> `callEKK1091D010SC` | `callSvcInter [U] EKK1091D010 progress registration` |
| 3 | CC:JKKFmtcelMskmInfoTrkmCC | `mainProc()` -> format cell tracking -> `callEKK1091D010SC` | `callSvcInter [U] EKK1091D010 progress registration` |
| 4 | CC:JKKOrsjgsUseStpRunCC | `mainProc()` -> optional usage stop -> `callEKK1091D010SC` | `callSvcInter [U] EKK1091D010 progress registration` |
| 5 | CC:JKKOpsvkeiTelIktAddCC | `mainProc()` -> optical service line telephone addition -> `callEKK1091D010SC` | `callSvcInter [U] EKK1091D010 progress registration` |

## 6. Per-Branch Detail Blocks

### Block 1 — Variable Declarations (L1022)

Local variable initialization for the SIF request flow.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sIFRequest = null` | // SIF request message holder |
| 2 | SET | `resultMsgs = null` | // SIF response message array |
| 3 | SET | `template = null` | // EKK1091D010 message template |
| 4 | SET | `status = 0` | // SIF return status code |

### Block 2 — Edit Incoming Message (L1028)

Prepares the common service IF request information from the incoming parameters.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sIFRequest = editInMsgCmn(param)` | // サービスIF共通の情報を設定 — Set up service IF common information [-> editInMsgCmn] |

### Block 3 — Create Message Template (L1031)

Creates the EKK1091D010 SIF message template.

| # | Type | Code |
|---|------|------|
| 1 | SET | `template = new CAANMsg(EKK1091D010CBSMsg.class.getName())` | // Create message template for EKK1091D010 progress registration |

### Block 4 — Map Input Data (L1033-1034)

Maps business input data into the SIF template. This block is annotated with a change ticket reference.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mappingEKK1091D010InMsg(template, inHash, svcKeiNo, resultHash, opSvcKeiNo, idoDtm)` | // Map input parameters into the EKK1091D010 SIF request template [-> TEMPLATE_ID_EKK1091D010="EKK1091D010" (JKKAdInfChgConstCC.java:574)] |

**Context**: This call was modified on 2012-03-14 (ST1-2012-0000012) to handle changes in the request parameters from POPPW (POP Password Initial Configuration).

### Block 5 — Edit Basic Message (L1035)

Applies basic edits to the SIF template (e.g., setting template ID, required fields).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `editBasicCmn(param, template)` | // 基本情報編集 — Edit basic information [-> editBasicCmn] |

### Block 6 — Set Template in Request (L1038)

Stores the prepared template into the SIF request holder.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sIFRequest.put(JCMConstants.TEMPLATE_LIST_KEY, new CAANMsg[]{template})` | // リクエスト用のクラスタの設定 — Set up request cluster [-> TEMPLATE_LIST_KEY] |

### Block 7 — Call Service Interface (L1041)

Invokes the actual service interface call to EKK1091D010.

| # | Type | Code |
|---|------|------|
| 1 | SET | `resultMsgs = callSvcInter(handle, param, sIFRequest)` | // SIFの呼び出し — Call the SIF |

**This is the core data mutation point.** The `callSvcInter` method delegates to the EKK1091D010 Service Component which performs progress registration (進捗登録) — updating the service contract's status in the database.

### Block 8 — Get Status Code (L1044)

Extracts the SIF response status code from the template.

| # | Type | Code |
|---|------|------|
| 1 | SET | `status = template.getInt(JCMConstants.STATUS_INT_KEY)` | // ステータスコードの取得 — Get the status code [-> STATUS_INT_KEY] |

### Block 9 — Conditional Status Check (L1047-1054)

Checks whether the SIF call succeeded (status == 0 means success).

| # | Type | Code |
|---|------|------|
| 1 | IF | `status == 0` | // ステータスが0以外エラーとなっている — Error if status is other than 0 (i.e., 0 = success) |

#### Block 9.1 — Success Branch: Map Output (L1050-1052)

Maps the SIF response into the result hash only on success.

| # | Type | Code |
|---|------|------|
| 1 | SET | `resultHash.put(TEMPLATE_ID_EKK1091D010, mappingEKK1091D010SCOutMsg(resultMsgs))` | // Map EKK1091D010 SIF response to result hash [-> TEMPLATE_ID_EKK1091D010="EKK1091D010" (JKKAdInfChgConstCC.java:574)] |

### Block 10 — Return Status (L1056)

Returns the SIF status code to the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return status` | // Returns 0 on success, non-zero on error |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svcKeiNo` | Field | Service contract number (サービス契約番号) — unique identifier for a service contract line item in the K-Opticom system |
| `opSvcKeiNo` | Field | Operation service contract number (操作サービス契約番号) — secondary contract reference used during service operations |
| `idoDtm` | Field | Invocation timestamp (行動日時) — the date/time when a service operation was performed |
| `inHash` | Field | Input data hash map carrying business parameters from the calling component |
| `resultHash` | Field | Output result hash map where mapped SIF response data is stored for the caller |
| `sIFRequest` | Field | Service Interface Request — the prepared request envelope for SIF communication |
| `status` | Field | SIF return status code — 0 indicates success; non-zero indicates an error condition |
| SIF | Acronym | Service Interface — the inter-component communication layer for invoking Service Components (SCs) |
| SC | Acronym | Service Component — a business logic unit that performs specific operations (e.g., registration, query) |
| CBS | Acronym | Component Base System — the underlying service backbone; `EKK1091D010CBSMsg` is the message class for EKK1091D010 |
| `TEMPLATE_ID_EKK1091D010` | Constant | `"EKK1091D010"` — progress registration (進捗登録) service template identifier [-> JKKAdInfChgConstCC.java:574] |
| EKK1091D010 | SC Code | Progress registration service — a service component that registers the advancement/completion status of a service contract |
| 進捗登録 | Japanese term | Progress registration — the business operation of recording that a service contract has been advanced to the next state |
| `JCMConstants.STATUS_INT_KEY` | Constant | Key used to retrieve the integer status code from the response template |
| `JCMConstants.TEMPLATE_LIST_KEY` | Constant | Key used to store the message template array in the SIF request map |
| CAANMsg | Class | Message class used for structured data transfer between SIF layers; represents a typed message container |
| POPPW | Acronym | POP Password — relates to POP (Post Office Protocol) password initial configuration integration |
| `editInMsgCmn` | Method | Edit incoming message common — prepares the standard SIF request envelope |
| `editBasicCmn` | Method | Edit basic message common — applies standard edits to the SIF message template |
| `mappingEKK1091D010InMsg` | Method | Maps input business data into the EKK1091D010 SIF request template |
| `mappingEKK1091D010SCOutMsg` | Method | Maps EKK1091D010 SIF response data into a HashMap for the caller |
| `callSvcInter` | Method | Calls the service interface — the central SIF invocation method that delegates to the CBS layer |
| SessionHandle | Class | Database session handle for managing transaction context and connection state |
| IRequestParameterReadWrite | Interface | Request parameter interface allowing both read and write access to screen-level input data |
