---
title: "Business Logic — KKW00127SF02DBean.getJsflist_svc_kei_stat_lis()"
method: "getJsflist_svc_kei_stat_lis"
class: "KKW00127SF02DBean"
fqn: "eo.web.webview.KKW00127SF.KKW00127SF02DBean"
package: "eo.web.webview.KKW00127SF"
module: "KKW00127SF"
file: "source/koptWebB/src/eo/web/webview/KKW00127SF/KKW00127SF02DBean.java"
lines: "152–160"
loc: 9
return_type: "ArrayList<SelectItem>"
generated: "2026-07-28"
---

# Business Logic — KKW00127SF02DBean.getJsflist_svc_kei_stat_lis() [9 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00127SF.KKW00127SF02DBean` |
| Layer | View / Web Bean (Controller-side JSF backing bean, part of the X33 Web Client framework) |
| Module | `KKW00127SF` (Package: `eo.web.webview.KKW00127SF`) |

## 1. Role

### KKW00127SF02DBean.getJsflist_svc_kei_stat_lis()

This method is a JSF (JavaServer Faces) backing bean getter that converts the **Service Contract Agreement Details** (サービス契約照会明細) list — a server-side data structure (`X33VDataTypeList`) — into a display-ready array of `SelectItem` objects suitable for rendering as a dropdown list (e.g., `<h:selectItems>` in JSF/JSP). In the business domain, it represents the **Service Contract Line Items** (サービス契約明細) of a telecom service order, which enumerate the individual service lines (such as FTTH broadband, mail service, etc.) associated with a single service contract agreement.

The method follows the **JSF data transformer pattern**: it acts as a bridging accessor that takes a plain data list (populated by downstream CBS/SC calls like `EKK0081A010CBS`) and formats each row's display label as a `SelectItem`, using the loop index as the value and the string content as the label. This enables the JSP screen (notably `KKW001270PJP.jsp`) to render a `<h:selectOneMenu>` dropdown populated with service contract line item details.

The design pattern implemented is **data presentation adaptation** — raw domain data is kept decoupled from presentation concerns, and this single-purpose getter encapsulates the conversion into JSF's `SelectItem` type. This method has no conditional branches; it processes all items uniformly, iterating from index 0 through the full size of the `svc_kei_stat_lis_list` collection.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["getJsflist_svc_kei_stat_lis()"])
    INIT["Initialize: ArrayList ary = new ArrayList&lt;SelectItem&gt;()"]
    CHECK["For loop: i = 0; i &lt; svc_kei_stat_lis_list.size()"]
    CHECK_NULL["svc_kei_stat_lis_list is null?"]
    ITER["Extract: itemValue = (String)((X33VDataTypeStringBean) svc_kei_stat_lis_list.get(i)).getValue()"]
    CREATE["Create: SelectItem item = new SelectItem(String.valueOf(i), itemValue)"]
    ADD["ary.add(item)"]
    NEXT["Increment i; check loop condition"]
    RETURN(["Return ary: ArrayList&lt;SelectItem&gt;"])

    START --> INIT
    INIT --> CHECK
    CHECK -->|True| RETURN
    CHECK -->|False| CHECK_NULL
    CHECK_NULL -->|False| ITER
    ITER --> CREATE
    CREATE --> ADD
    ADD --> NEXT
    NEXT --> CHECK
```

**Processing Description:**

1. **Initialization (L153):** An empty `ArrayList<SelectItem>` is created to accumulate the result.
2. **Loop Setup (L154):** A for-loop iterates from index 0 to the size of `svc_kei_stat_lis_list`. This list is an instance field of type `X33VDataTypeList` (populated externally, e.g., via `setSvc_kei_stat_lis_list()` setter, which is called by the parent bean `KKW00127SFBean` after a CBS response).
3. **Extraction (L155):** For each iteration, the element at index `i` is cast to `X33VDataTypeStringBean`, and its value is extracted as a `String` via `getValue()`. This string represents the displayed text for one service contract line detail item.
4. **Item Creation (L156):** A new `SelectItem` is created with the loop index (as a String) serving as the submitted form value, and the extracted string as the human-readable label.
5. **Accumulation (L157):** The `SelectItem` is appended to the result list.
6. **Loop Repeat (L154–157):** Steps 3–5 repeat for each index until the list is exhausted.
7. **Return (L159):** The fully populated `ArrayList<SelectItem>` is returned to the caller (JSF EL resolver), which binds it to a dropdown UI component.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a no-argument JSF getter. The data it processes comes from instance fields. |

**Instance fields read:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `svc_kei_stat_lis_list` | `X33VDataTypeList` | Service Contract Agreement Line Details list — a dynamic list of service line items retrieved from the CBS `EKK0081A010CBS` response, where each element holds a string value representing the display text of one service line within the contract. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `svc_kei_stat_lis_list.size()` | - | - | Reads the size of the service contract line details list (in-memory data read, no DB access) |
| R | `svc_kei_stat_lis_list.get(i)` | - | - | Retrieves the i-th element from the service contract line details list (in-memory data read, no DB access) |

**Analysis:** This method performs **zero** actual database or CBS operations. It is a pure in-memory data transformer that operates on a list already populated by upstream CBS calls (specifically, the `EKK0081A010CBS` CBS, which retrieves service contract details from the database and is stored in `svc_kei_stat_lis_list` via the `setSvc_kei_stat_lis_list()` setter). The method's sole purpose is presentation-formatting.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW001270PJP | `KKW001270PJP` (JSP) → EL resolver: `#{...jsflistSvcKeiStatLis}` → `KKW00127SF02DBean.getJsflist_svc_kei_stat_lis()` | — (in-memory, no terminal DB operation) |
| 2 | Screen:KKW001270PJP | `KKW001270PJP` → JSF data binding via `<h:selectItems>` → `getJsflist_svc_kei_stat_lis()` | — |

**Caller context:** The method is referenced in `KKW001270PJP.jsp` through JSF EL binding. The JSP conditionally displays bundle information (バンドル情報) for service types where `svc_jdk_flg_value` is "03" (changed service), "04" (added service), or "05" (deleted service), and `ido_div_value` is "00040" (change order). The `SelectItem` list returned by this method populates an `<h:selectOneMenu>` dropdown labeled "バンドル情報" (Bundle Information).

**Call chain (upstream data flow):**
```
EKK0081A010CBS (CBS: Service Contract Details retrieval)
  └─→ KKW00127SFBean.setEkk0081a010cbsmsg1list() (populates the DBean list)
       └─→ KKW00127SF02DBean.setSvc_kei_stat_lis_list() (sets svc_kei_stat_lis_list)
            └─→ KKW00127SF02DBean.getJsflist_svc_kei_stat_lis() (transforms to SelectItem list)
```

## 6. Per-Branch Detail Blocks

**Block 1** — [FOR LOOP] `(int i = 0; i < svc_kei_stat_lis_list.size(); i++)` (L154)

> Iterates over every element in the service contract line details list. For each element, extracts the display value and creates a `SelectItem` for JSF dropdown binding.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<SelectItem> ary = new ArrayList<SelectItem>();` // Initialize result list [L153, before loop] |
| 2 | SET | `String itemValue = (String)((X33VDataTypeStringBean) svc_kei_stat_lis_list.get(i)).getValue();` // Extract display value from the i-th service line item [L155] |
| 3 | SET | `SelectItem item = new SelectItem(new Integer(i).toString(), itemValue);` // Create JSF SelectItem: value=index (String), label=itemValue [L156] |
| 4 | EXEC | `ary.add(item);` // Append to result list [L157] |
| 5 | LOOP | `for(int i=0; i< svc_kei_stat_lis_list.size(); i++)` // Iterate over all service contract line items [L154] |

**Block 2** — [RETURN] `return ary;` (L159)

> Returns the fully populated `ArrayList<SelectItem>` to the JSF framework.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return ary;` // Return SelectItem list for JSF dropdown binding [L159] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_stat_lis_list` | Field | Service Contract Line Details List — an `X33VDataTypeList` containing individual service line items (e.g., FTTH line, mail service line) associated with a service contract agreement, populated from CBS `EKK0081A010CBS`. |
| `svc_kei_stat_lis` | Field | Service Contract Line Detail — represents one line item within a service contract agreement, containing the display text for the service type. |
| JSF | Acronym | JavaServer Faces — Sun/Oracle's web application framework for building UI components in Java EE. |
| `SelectItem` | Type | JSF component class representing a single option in a dropdown (`<h:selectOneMenu>` or `<h:selectManyListbox>`). The constructor `new SelectItem(value, label)` takes the submitted form value and the human-readable display label. |
| `X33VDataTypeList` | Type | X33 framework list data type — a dynamic list container that holds a sequence of typed value objects (here, `X33VDataTypeStringBean`). |
| `X33VDataTypeStringBean` | Type | X33 framework string data wrapper — provides `getValue()` and `setValue()` methods for typed string data exchange. |
| `EKK0081A010CBS` | CBS | Service Contract Details CBS — retrieves service contract agreement information including line item details. "CBS" = CBS (Concurrent Business System) is the telecom CBS middleware layer. |
| サービス契約照会明細 | Japanese | Service Contract Agreement Details — the domain entity representing detailed information about a telecom service contract, broken down by individual service lines (FTTH, Mail, etc.). |
| 照会 | Japanese | Inquiry / Query — refers to read-only retrieval of data (as opposed to registration/更新). |
| 明細 | Japanese | Details / Line items — the individual line items within a contract or order. |
| バンドル情報 | Japanese | Bundle Information — bundled service groupings (e.g., FTTH + Mail combo packages) displayed on the service contract screen. |
| 標準工事費 | Japanese | Standard Installation Fee — the standard labor/registration fee for service setup. |
| 紹介コード | Japanese | Referral Code — a code tracking how a customer was referred. |
| KKW00127SF | Module | Screen module code for the Service Contract Inquiry screen (KKW = K-Opticom Web; 00127 = screen number; SF = Screen Form). |
| DBean | Abbreviation | Data Bean — an X33 framework bean that holds form/display data for a specific screen component, implementing `X33VDataTypeBeanInterface`. |
| `ido_div_value` | Field | Instruction Division Value — indicates the type of order instruction (e.g., "00040" = change order, "00032" = new order). |
| `svc_jdk_flg_value` | Field | Service JDK Flag Value — indicates the service modification type: "01" = new registration, "03" = change, "04" = addition, "05" = deletion. |
| K-Opticom | Business term | KDDI's fiber optic broadband brand in Japan. The system documents cover the K-Opticom service management platform. |
| X33 Framework | Technology | Fujitsu's proprietary Java EE web client framework used for building telecom BSS (Business Support System) screens, providing typed bean management and form data handling. |
