# Business Logic — DKW00301SF05DBean.listKoumokuIds() [54 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.DKW00301SF.DKW00301SF05DBean` |
| Layer | Webview / Data Type Bean (View Model) |
| Module | `DKW00301SF` (Package: `eo.web.webview.DKW00301SF`) |

## 1. Role

### DKW00301SF05DBean.listKoumokuIds()

This method serves as the metadata provider for the **return (reverse service) item list display** in the DKW00301SF screen module. The Javadoc reads "Returns a list of item names for the data type bean" (データタイプビーンの項目名のリストを返す). It constructs a static, ordered list of 51 display column labels in Japanese that define the columns of a table/grid used to present return-service (返品サービス) records — specifically for the "search results list" (検索結果リスト), "CSV search results list" (CSV用検索結果リスト), and "selected search results list" (選択検索結果リスト) views.

It implements the **Data Type Bean pattern**, a common architectural pattern in this codebase where each screen module owns one or more `*DBean` classes that declaratively define the display metadata (column labels) and row-level metadata (field-level metadata) for their respective screens. The `listKoumokuIds()` method is a static factory — it returns a fresh `ArrayList<String>` populated with string labels in a fixed order, matching the column order expected by the view layer (JSP/HTML table rendering).

This method is a **shared utility** called by the parent bean `DKW00301SFBean.listKoumokuIds(String key)` via delegation. It is the canonical source of column labels for the return-service search result grid. The method contains no business logic branching, no data access, and no external dependencies — it is purely a data construction method.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START([listKoumokuIds])
    INIT[Create ArrayList koumokuList]
    A1[listKoumokuList add Selection]
    A2[listKoumokuList add Row Color]
    A3[listKoumokuList add Item No]
    A4[listKoumokuList add Return Device No]
    A5[listKoumokuList add Receiver Name]
    A6[listKoumokuList add Receiver]
    A7[listKoumokuList add Display Receiver Name]
    A8[listKoumokuList add Service Contract No]
    A9[listKoumokuList add Case No]
    A10[listKoumokuList add Contract Party Name]
    A11[listKoumokuList add Display Contract Party Name]
    A12[listKoumokuList add Return Date]
    A13[listKoumokuList add Model No]
    A14[listKoumokuList add Serial No]
    A15[listKoumokuList add Device Contract Category]
    A16[listKoumokuList add Device Contract Category Name]
    A17[listKoumokuList add Device Contract Category Select Index]
    A18[listKoumokuList add Product Status]
    A19[listKoumokuList add Product Status Name]
    A20[listKoumokuList add Display Product Status Name]
    A21[listKoumokuList add Cancellation Date]
    A22[listKoumokuList add Return Type]
    A23[listKoumokuList add Return Type Name]
    A24[listKoumokuList add Rental Cancellation Document]
    A25[listKoumokuList add Rental Cancellation Document Name]
    A26[listKoumokuList add Approval]
    A27[listKoumokuList add Shipping Lot No]
    A28[listKoumokuList add Return Reason Name]
    A29[listKoumokuList add Return Reason]
    A30[listKoumokuList add Return Details]
    A31[listKoumokuList add Return No]
    A32[listKoumokuList add Returner Postal Code]
    A33[listKoumokuList add Returner Prefecture]
    A34[listKoumokuList add Returner CityTownVillage]
    A35[listKoumokuList add Returner DistrictName]
    A36[listKoumokuList add Returner BlockChome]
    A37[listKoumokuList add Returner AddressNo]
    A38[listKoumokuList add Returner AddressBuilding]
    A39[listKoumokuList add Returner AddressRoom]
    A40[listKoumokuList add Returner Phone]
    A41[listKoumokuList add Returner Name]
    A42[listKoumokuList add Return UpdatedTimestamp]
    A43[listKoumokuList add Record Sequence No]
    A44[listKoumokuList add Device Prov Service Contract]
    A45[listKoumokuList add Device Prov Service RegTimestamp]
    A46[listKoumokuList add Return Category]
    A47[listKoumokuList add Input Service Contract No]
    A48[listKoumokuList add Device Change No]
    A49[listKoumokuList add Return Device Service Contract]
    A50[listKoumokuList add Device Prov Code Name List]
    ENDN[Return koumokuList]

    START --> INIT
    INIT --> A1
    A1 --> A2
    A2 --> A3
    A3 --> A4
    A4 --> A5
    A5 --> A6
    A6 --> A7
    A7 --> A8
    A8 --> A9
    A9 --> A10
    A10 --> A11
    A11 --> A12
    A12 --> A13
    A13 --> A14
    A14 --> A15
    A15 --> A16
    A16 --> A17
    A17 --> A18
    A18 --> A19
    A19 --> A20
    A20 --> A21
    A21 --> A22
    A22 --> A23
    A23 --> A24
    A24 --> A25
    A25 --> A26
    A26 --> A27
    A27 --> A28
    A28 --> A29
    A29 --> A30
    A30 --> A31
    A31 --> A32
    A32 --> A33
    A33 --> A34
    A34 --> A35
    A35 --> A36
    A36 --> A37
    A37 --> A38
    A38 --> A39
    A39 --> A40
    A40 --> A41
    A41 --> A42
    A42 --> A43
    A43 --> A44
    A44 --> A45
    A45 --> A46
    A46 --> A47
    A47 --> A48
    A48 --> A49
    A49 --> A50
    A50 --> ENDN
```

**Processing Steps:**

1. **Initialization** — Create a new `ArrayList<String>` named `koumokuList` (line 2936).
2. **Column Label Population** — Sequentially add 51 Japanese string literals representing display column labels for the return-service grid. Each `add()` call appends one label at the corresponding column position (lines 2937–2982).
3. **Return** — Return the populated `ArrayList<String>` containing all 51 item labels (line 2983).

There are **no conditional branches, loops, or service calls**. This is a linear construction method.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This is a `static` method with no parameters. It requires no input because it returns a fixed, pre-defined set of column labels. |

**Instance fields or external state read:** None. The method is fully self-contained and stateless.

## 4. CRUD Operations / Called Services

This method contains **no CRUD operations and no service calls**. It performs only in-memory list construction via `ArrayList.add()`. There are no database interactions, no SC (Service Component) invocations, and no CBS (Callback) calls.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| — | `ArrayList.add()` | — | — | In-memory list population; not a database operation |

## 5. Dependency Trace

This method is called exclusively by its parent bean `DKW00301SFBean.listKoumokuIds(String key)`, which acts as a **routing dispatcher** — it inspects the `key` parameter (a column type identifier such as "search results list" or "CSV search results list") and delegates to the appropriate `*DBean.listKoumokuIds()` factory method.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | DKW00301SFBean (Parent Bean) | `DKW00301SFBean.listKoumokuIds(String key)` — if key equals "検索結果リスト" or "CSV用検索結果リスト" or "選択検索結果リスト" —> `DKW00301SF05DBean.listKoumokuIds()` | `ArrayList.add()` (in-memory only) |

The parent bean `DKW00301SFBean` is itself called from screen/controller layers (typically a `KKSV*` screen class) when the view layer requests metadata for table column rendering.

## 6. Per-Branch Detail Blocks

**Block 1** — [LINEAR] `(no conditional)` (L2936)

> Initialize the return list.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ArrayList<String> koumokuList = new ArrayList<String>();` |

**Block 2** — [LINEAR CHAIN] `(no conditional)` (L2937–L2982)

> Sequentially add all 51 column labels. Each block below represents one `add()` call in sequence.

| # | Type | Code |
|---|------|------|
| 1 | SET | `koumokuList.add("選択")` // Selection (L2937) |
| 2 | SET | `koumokuList.add("行カラー")` // Row Color (L2938) |
| 3 | SET | `koumokuList.add("項番")` // Item No. (L2939) |
| 4 | SET | `koumokuList.add("返品機器番号")` // Return Device No. (L2940) |
| 5 | SET | `koumokuList.add("受入先名称")` // Receiver Name (L2941) |
| 6 | SET | `koumokuList.add("受入先")` // Receiver (L2942) |
| 7 | SET | `koumokuList.add("表示用受入先名称")` // Display Receiver Name (L2943) |
| 8 | SET | `koumokuList.add("サービス契約番号")` // Service Contract No. (L2944) |
| 9 | SET | `koumokuList.add("案件番号")` // Case No. (L2945) |
| 10 | SET | `koumokuList.add("契約者名")` // Contract Party Name (L2946) |
| 11 | SET | `koumokuList.add("表示用契約者名")` // Display Contract Party Name (L2947) |
| 12 | SET | `koumokuList.add("返品日")` // Return Date (L2948) |
| 13 | SET | `koumokuList.add("型番")` // Model No. (L2949) |
| 14 | SET | `koumokuList.add("製造番号")` // Serial No. (L2950) |
| 15 | SET | `koumokuList.add("機器契約区分")` // Device Contract Category (L2951) |
| 16 | SET | `koumokuList.add("機器契約区分名称")` // Device Contract Category Name (L2952) |
| 17 | SET | `koumokuList.add("機器契約区分選択インデックス")` // Device Contract Category Select Index (L2953) |
| 18 | SET | `koumokuList.add("商品状態")` // Product Status (L2954) |
| 19 | SET | `koumokuList.add("商品状態名称")` // Product Status Name (L2955) |
| 20 | SET | `koumokuList.add("表示用商品状態名称")` // Display Product Status Name (L2956) |
| 21 | SET | `koumokuList.add("解約日")` // Cancellation Date (L2957) |
| 22 | SET | `koumokuList.add("返品種類")` // Return Type (L2958) |
| 23 | SET | `koumokuList.add("返品種類名称")` // Return Type Name (L2959) |
| 24 | SET | `koumokuList.add("レンタル解約書")` // Rental Cancellation Document (L2960) |
| 25 | SET | `koumokuList.add("レンタル解約書名称")` // Rental Cancellation Document Name (L2961) |
| 26 | SET | `koumokuList.add("承認")` // Approval (L2962) |
| 27 | SET | `koumokuList.add("出荷ロット番号")` // Shipping Lot No. (L2963) |
| 28 | SET | `koumokuList.add("返品理由名称")` // Return Reason Name (L2964) |
| 29 | SET | `koumokuList.add("返品理由")` // Return Reason (L2965) |
| 30 | SET | `koumokuList.add("返品詳細")` // Return Details (L2966) |
| 31 | SET | `koumokuList.add("返品番号")` // Return No. (L2967) |
| 32 | SET | `koumokuList.add("返品者郵便番号")` // Returner Postal Code (L2968) |
| 33 | SET | `koumokuList.add("返品者都道府県名")` // Returner Prefecture (L2969) |
| 34 | SET | `koumokuList.add("返品者市区町村名")` // Returner City/Town/Village (L2970) |
| 35 | SET | `koumokuList.add("返品者大字通称名")` // Returner District/Main Street Name (L2971) |
| 36 | SET | `koumokuList.add("返品者丁目丁目")` // Returner Block/Chome (L2972) |
| 37 | SET | `koumokuList.add("返品者番地号")` // Returner Address No. (L2973) |
| 38 | SET | `koumokuList.add("返品者住所補記・建物名")` // Returner Address Subj - Building Name (L2974) |
| 39 | SET | `koumokuList.add("返品者住所補記・部屋番号")` // Returner Address Subj - Room No. (L2975) |
| 40 | SET | `koumokuList.add("返品者電話番号")` // Returner Phone No. (L2976) |
| 41 | SET | `koumokuList.add("返品者名")` // Returner Name (L2977) |
| 42 | SET | `koumokuList.add("返品更新年月日時分秒")` // Return Last Updated Timestamp (L2978) |
| 43 | SET | `koumokuList.add("レコード通番")` // Record Sequence No. (L2979) |
| 44 | SET | `koumokuList.add("機器提供サービス契約番号")` // Device Provision Service Contract No. (L2980) |
| 45 | SET | `koumokuList.add("機器提供サービス世代登録年月日時分秒")` // Device Provision Service Reg. Timestamp (L2981) |
| 46 | SET | `koumokuList.add("返品区分")` // Return Category (L2982) |
| 47 | SET | `koumokuList.add("入力サービス契約番号")` // Input Service Contract No. |
| 48 | SET | `koumokuList.add("機器変更番号")` // Device Change No. |
| 49 | SET | `koumokuList.add("返品機器サービス契約番号")` // Return Device Service Contract No. |
| 50 | SET | `koumokuList.add("機器提供コード名リスト")` // Device Provision Code Name List |

**Block 3** — [RETURN] `(L2983)`

> Return the fully populated list.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return koumokuList;` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `データタイプビーン` | Field | Data Type Bean — a view model class that declaratively defines the metadata (column labels, field types) for screen display grids/tables. Used by the view layer to render HTML tables. |
| 項目名 (koumokumei) | Field | Item name — the display label for a column in a search result grid. Also referred to as "koumoku ID" in code. |
| 選択 (sentaku) | Field | Selection — column label for a checkbox/pick column in the results grid. |
| 行カラー (gyou kara) | Field | Row Color — column label for a metadata column used to apply row-level CSS coloring (e.g., highlighting error rows). |
| 項番 (koungou) | Field | Item No. — sequential row number displayed in the grid. |
| 返品 (hampen) | Field | Return / Reverse Service — a business operation where a previously provisioned device is returned or reversed. The "return service" is the domain of the DKW00301SF module. |
| 返品機器番号 (hampiinki bangou) | Field | Return Device No. — identifier of the specific device being returned. |
| 受入先名称 (ukeiredosaki meishou) | Field | Receiver Name — name of the party accepting the return. |
| 受入先 (ukeiredosaki) | Field | Receiver — internal identifier of the receiving party. |
| 表示用受入先名称 (hyoujiyou ukeiredosaki meishou) | Field | Display Receiver Name — receiver name formatted for UI display. |
| サービス契約番号 (saabisu keiyaku bangou) | Field | Service Contract No. — the service contract identifier associated with a return record. |
| 案件番号 (ankou bangou) | Field | Case No. — internal case/tracking number for the return case. |
| 契約者名 (keiyakusha meishou) | Field | Contract Party Name — name of the party under contract. |
| 表示用契約者名 (hyoujiyou keiyakusha meishou) | Field | Display Contract Party Name — contract party name formatted for UI. |
| 返品日 (hampenbi) | Field | Return Date — date on which the return was processed. |
| 型番 (gataban) | Field | Model No. — the product model identifier. |
| 製造番号 (seizou bangou) | Field | Serial No. — the device serial number. |
| 機器契約区分 (kiki keiyaku kubun) | Field | Device Contract Category — classification of the device contract type. |
| 機器契約区分名称 (kiki keiyaku kubun meishou) | Field | Device Contract Category Name — human-readable name of the device contract category. |
| 機器契約区分選択インデックス (kiki keiyaku kubun sentaku indekkusu) | Field | Device Contract Category Select Index — index value for dropdown/radio selection UI. |
| 商品状態 (shouhin joutai) | Field | Product Status — current status of the product (e.g., active, cancelled, returned). |
| 商品状態名称 (shouhin joutai meishou) | Field | Product Status Name — human-readable product status. |
| 表示用商品状態名称 (hyoujiyou shouhin joutai meishou) | Field | Display Product Status Name — product status formatted for UI display. |
| 解約日 (kaiyakuhi) | Field | Cancellation Date — date when the service contract was cancelled. |
| 返品種類 (hampen shurui) | Field | Return Type — type/category of return (e.g., full return, partial return). |
| 返品種類名称 (hampen shurui meishou) | Field | Return Type Name — human-readable return type. |
| レンタル解約書 (rentaru kaiyaku-sho) | Field | Rental Cancellation Document — document indicating rental cancellation. |
| レンタル解約書名称 (rentaru kaiyaku-sho meishou) | Field | Rental Cancellation Document Name — name of the rental cancellation document. |
| 承認 (shounin) | Field | Approval — approval status or approval indicator for the return record. |
| 出荷ロット番号 (shukka rotto bangou) | Field | Shipping Lot No. — lot number associated with the original shipment. |
| 返品理由名称 (hampen riyuu meishou) | Field | Return Reason Name — human-readable reason for return. |
| 返品理由 (hampen riyuu) | Field | Return Reason — code or identifier for the return reason. |
| 返品詳細 (hampen shousai) | Field | Return Details — detailed description of the return. |
| 返品番号 (hampen bangou) | Field | Return No. — unique identifier for the return record. |
| 返品者郵便番号 (hampen-sha yuubin bangou) | Field | Returner Postal Code — postal code of the person returning the device. |
| 返品者都道府県名 (hampen-sha todoufuken meishou) | Field | Returner Prefecture — prefecture of the returner's address. |
| 返品者市区町村名 (hampen-sha shikuchoson meishou) | Field | Returner City/Town/Village — municipality of the returner's address. |
| 返品者大字通称名 (hampen-sha ooji tsuushoumei) | Field | Returner District/Main Street Name — district-level address component. |
| 返品者丁目丁目 (hampen-sha choume) | Field | Returner Block/Chome — chome/block-level address component. |
| 返品者番地号 (hampen-sha ban gou) | Field | Returner Address No. — building/street number in the returner's address. |
| 返品者住所補記・建物名 (hampen-sha juusho hoki - buutsu meishou) | Field | Returner Address Subj - Building Name — supplementary building name in the returner's address. |
| 返品者住所補記・部屋番号 (hampen-sha juusho hoki - heya bangou) | Field | Returner Address Subj - Room No. — room/apartment number in the returner's address. |
| 返品者電話番号 (hampen-sha denwa bangou) | Field | Returner Phone No. — phone number of the returner. |
| 返品者名 (hampen-sha meishou) | Field | Returner Name — name of the person returning the device. |
| 返品更新年月日時分秒 (hampen koushin nengetsunichijibyunbyou) | Field | Return Last Updated Timestamp — last modification timestamp for the return record (year-month-day-hour-minute-second). |
| レコード通番 (rekoodo tsuuban) | Field | Record Sequence No. — internal sequential record number for the database row. |
| 機器提供サービス契約番号 (kiki teikyou saabisu keiyaku bangou) | Field | Device Provision Service Contract No. — contract number for the device provisioning service. |
| 機器提供サービス世代登録年月日時分秒 (kiki teikyou saabisu sidai touroku nengetsunichijibyunbyou) | Field | Device Provision Service Reg. Timestamp — timestamp of when the device provision service was registered (generation/version). |
| 返品区分 (hampen kubun) | Field | Return Category — category/classification of the return operation. |
| 入力サービス契約番号 (nyuuryoku saabisu keiyaku bangou) | Field | Input Service Contract No. — service contract number at the time of input/entry. |
| 機器変更番号 (kiki henkou bangou) | Field | Device Change No. — identifier for a device change/swapping operation. |
| 返品機器サービス契約番号 (hampiinki saabisu keiyaku bangou) | Field | Return Device Service Contract No. — service contract number specific to the return device. |
| 機器提供コード名リスト (kiki teikyou kodou meisho risuto) | Field | Device Provision Code Name List — list of device provision code names. |
| 検索結果リスト (kensaku kekka risuto) | Field | Search Results List — the column key identifying the main search result grid metadata. |
| CSV用検索結果リスト (CSV-yo kensaku kekka risuto) | Field | CSV Search Results List — the column key identifying the CSV export variant of the search results grid. |
| 選択検索結果リスト (sentaku kensaku kekka risuto) | Field | Selected Search Results List — the column key identifying the grid for pre-selected items. |
| DBean | Pattern | Data Type Bean — a view-model class that holds display metadata (column labels, field metadata) for a screen's data table/grid. In this codebase, DBean classes are named `DKWxxxxSFnnDBean`. |
| listKoumokumei | Method | List item names — the `listKoumokuIds()` method pattern shared across all DBean classes in this codebase for returning column label arrays. |

---
