# Business Logic — KKW05501SF02DBean.typeModelData() [715 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW05501SF.KKW05501SF02DBean` |
| Layer | Utility (Bean/Data Type Provider in Web Layer) |
| Module | `KKW05501SF` (Package: `eo.web.webview.KKW05501SF`) |

## 1. Role

### KKW05501SF02DBean.typeModelData()

This method is a **data type routing/dispatch utility** used by the `KKW05501SF` telecom order management screen to determine the Java class type of each field in the service contract detail view. It implements a **lookup-by-key pattern** — the method receives a business field name (e.g., "Customer ID", "Contract Service Name") and an optional subkey (e.g., "value", "enable", "state"), then returns the appropriate `Class<?>` descriptor. It is the type-model counterpart to `dataType` in the bean hierarchy and is used by the framework to construct typed form components dynamically on the view.

The method handles **50 distinct business fields** spanning customer identification, service contract metadata (service code, service name, pricing plan, pricing course), usage location, contract status, billing information (invoice address, charge start date, request source number), promotional/encouragement status, apartment/mansion-specific fields (apartment ID, equipment codes, address), and order line identifiers. For each field, the subkey "value" returns `String.class` (except the "選択" selection field which returns `Boolean.class` for its value), "enable" always returns `Boolean.class` (indicating whether the field is enabled for editing), "state" always returns `String.class` (representing the visual/interaction state), and any unrecognized subkey returns `null`.

The method follows a **chain-of-responsibility dispatch pattern** — each `else-if` branch handles one field name, and the return type is determined purely by the subkey value. It contains **no database calls, no service component invocations, no CRUD operations** — it is a pure type-mapping utility. This method is called from the parent screen bean `KKW05501SFBean` as part of the data binding infrastructure for the "Service Contract Detail List" (サービス契約明細リスト) table, enabling the UI framework to know the expected type for each cell renderer and input validators.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["typeModelData(String key, String subkey)"])

    START --> N1["N1: null check<br/>key == null || subkey == null"]

    N1 --> |"true"| RET_NULL1["return null"]
    N1 --> |"false"| SEP["sep = key.indexOf('/')"]

    SEP --> KEYSPLIT["key contains '/'"]
    KEYSPLIT --> |"yes"| SKIP["skip (no specific handling)"]
    KEYSPLIT --> |"no"| FIELD_SEL["key.equals('選択')"]

    FIELD_SEL --> |"true"| SUBKEY_SEL["subkey check for '選択'"]
    FIELD_SEL --> |"false"| FIELD_SVC_KEI_NO["key.equals('お客様ID')"]

    SUBKEY_SEL --> |"value"| RET_BOOL_1["return Boolean.class"]
    SUBKEY_SEL --> |"enable"| RET_BOOL_2["return Boolean.class"]
    SUBKEY_SEL --> |"state"| RET_STR_1["return String.class"]
    SUBKEY_SEL --> |"other"| RET_NULL2["return null"]

    FIELD_SVC_KEI_NO --> |"true"| SUBKEY_SVC_KEI_NO["subkey check for 'お客様ID'"]
    FIELD_SVC_KEI_NO --> |"false"| FIELD_SVC_KEI_CD["key.equals('契約サービスコード')"]

    SUBKEY_SVC_KEI_NO --> |"value"| RET_STR_2["return String.class"]
    SUBKEY_SVC_KEI_NO --> |"enable"| RET_BOOL_3["return Boolean.class"]
    SUBKEY_SVC_KEI_NO --> |"state"| RET_STR_3["return String.class"]
    SUBKEY_SVC_KEI_NO --> |"other"| RET_NULL3["return null"]

    FIELD_SVC_KEI_CD --> |"true"| SUBKEY_SVC_KEI_CD["subkey check for '契約サービスコード'"]
    FIELD_SVC_KEI_CD --> |"false"| OTHER_KEYS["remaining 48 fields...<br/>契約サービス名, 料金コースコード, ..."]

    SUBKEY_SVC_KEI_CD --> |"value"| RET_STR_4["return String.class"]
    SUBKEY_SVC_KEI_CD --> |"enable"| RET_BOOL_4["return Boolean.class"]
    SUBKEY_SVC_KEI_CD --> |"state"| RET_STR_5["return String.class"]
    SUBKEY_SVC_KEI_CD --> |"other"| RET_NULL4["return null"]

    OTHER_KEYS --> |"true"| SUBKEY_OTHER["subkey check<br/>(value / enable / state / other)"]

    SUBKEY_OTHER --> |"value"| RET_STR_6["return String.class"]
    SUBKEY_OTHER --> |"enable"| RET_BOOL_5["return Boolean.class"]
    SUBKEY_OTHER --> |"state"| RET_STR_7["return String.class"]
    SUBKEY_OTHER --> |"other"| RET_NULL5["return null"]

    SKIP --> END_NODE(["End"])
    RET_NULL1 --> END_NODE
    RET_NULL2 --> END_NODE
    RET_NULL3 --> END_NODE
    RET_NULL4 --> END_NODE
    RET_NULL5 --> END_NODE
    RET_BOOL_1 --> END_NODE
    RET_BOOL_2 --> END_NODE
    RET_BOOL_3 --> END_NODE
    RET_BOOL_4 --> END_NODE
    RET_BOOL_5 --> END_NODE
    RET_STR_1 --> END_NODE
    RET_STR_2 --> END_NODE
    RET_STR_3 --> END_NODE
    RET_STR_4 --> END_NODE
    RET_STR_5 --> END_NODE
    RET_STR_6 --> END_NODE
    RET_STR_7 --> END_NODE
    END_NODE
```

**Processing flow summary:**

1. **Null guard**: If either `key` or `subkey` is null, return `null` immediately.
2. **Slash check**: The method computes `key.indexOf("/")` (unused result — the presence of a "/" in the key does not currently affect control flow, suggesting this was planned for composite key handling but not yet implemented).
3. **50 field-name branches**: Each `else-if(key.equals(...))` checks a specific Japanese field name against the `key` parameter.
4. **Subkey routing**: Within each field branch, the `subkey` is checked case-insensitively:
   - `value` -> The data value type (`String.class` or `Boolean.class` for the "選択" selection field)
   - `enable` -> Boolean flag indicating field editability
   - `state` -> String representing UI interaction state
   - any other value -> `null` (unknown subkey)

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `key` | `String` | The Japanese field name (項目名) of a UI component in the service contract detail screen. Represents a business entity attribute such as "Customer ID" (お客様ID), "Contract Service Code" (契約サービスコード), "Pricing Plan" (料金プラン), or "Apartment ID" (マンションID). Determines which field's type metadata is being queried. The method contains 50 distinct `key.equals()` branches covering customer identifiers, service metadata, pricing, billing, location, and apartment-specific attributes. |
| 2 | `subkey` | `String` | A metadata qualifier for the field. Possible values: `"value"` (the actual data type of the field's content), `"enable"` (whether the field is editable), `"state"` (the UI state representation). Case-insensitive comparison is used. Unknown subkeys return `null`. |

**Internal state consumed:** None. This method is stateless — it does not read any instance fields or external state.

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and invokes **no service components**. It is a pure in-memory type lookup.

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| (none) | (none) | (none) | (none) | Pure type mapping — no data access, no service calls, no database interaction. |

## 5. Dependency Trace

### Callers (who calls `typeModelData`)

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKW05501SF | `KKW05501SFBean.getDataBeanList` -> `KKW05501SF02DBean.typeModelData` | (none — pure lookup) |

**Caller details:** The parent bean `KKW05501SFBean` instantiates `KKW05501SF02DBean` and invokes its `typeModelData` method when building the typed column model for the "Service Contract Detail List" (サービス契約明細リスト) data table. This is referenced in the bean's data-type provider infrastructure as described in the comment "データ型がデータ型ビューン型の項目" (field whose data type is a bean type).

**Note:** No other classes in the codebase call `KKW05501SF02DBean.typeModelData()` directly. Similar `typeModelData` methods exist in other screen beans (FUW009xxSF series) as independent implementations following the same pattern.

## 6. Per-Branch Detail Blocks

### Block 1 — IF (key == null || subkey == null) (L3549)

> Early null guard: If either parameter is null, return null immediately. This prevents NPE on subsequent `equals()` and `equalsIgnoreCase()` calls.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key == null || subkey == null` [L3549] |
| 1.1 | RETURN | `return null` [L3551] |

### Block 2 — SET (key indexOf check) (L3553)

> Computes slash position in key. The variable `separaterPoint` is set but **never read** — this is dead code, likely a vestige of planned composite key handling (e.g., "parent/child" key paths).

| # | Type | Code |
|---|------|------|
| 1 | SET | `int separaterPoint = key.indexOf("/")` [L3553] |

### Block 3 — ELSE-IF (key.equals("選択")) (L3556)

> The "選択" (Selection) field. This is the **only field whose `value` subkey returns `Boolean.class`** instead of `String.class`. Its subkey is checked case-insensitively.

| # | Type | Code |
|---|------|------|
| 1 | IF | `key.equals("選択")` [L3556] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return Boolean.class` [L3557] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3559] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3561] // subkeyが"state"の場合、ステータスを返す (returns status when subkey is "state") |

### Block 4 — ELSE-IF (key.equals("お客様ID")) (L3566)

> The "お客様ID" (Customer ID) field. Standard string data type with enable and state metadata. The comment says: データ型がStringの項目"お客様ID" (item with String data type: "Customer ID").

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("お客様ID")` [L3566] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3567] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3569] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3571] // 同上 |

### Block 5 — ELSE-IF (key.equals("契約サービスコード")) (L3576)

> The "契約サービスコード" (Contract Service Code) field. Identifies the type of telecom service being contracted (e.g., FTTH, DSL, cable).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("契約サービスコード")` [L3576] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3577] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3579] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3581] |

### Block 6 — ELSE-IF (key.equals("契約サービス名称")) (L3586)

> The "契約サービス名称" (Contract Service Name) field. Human-readable name of the contracted service (e.g., "フレッツ光", "フレッツ・テレフォン").

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("契約サービス名称")` [L3586] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3587] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3589] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3591] |

### Block 7 — ELSE-IF (key.equals("料金コースコード")) (L3596)

> The "料金コースコード" (Pricing Course Code) field. Identifies the billing tier or rate plan for the service.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("料金コースコード")` [L3596] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3597] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3599] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3601] |

### Block 8 — ELSE-IF (key.equals("料金コース名称")) (L3606)

> The "料金コース名称" (Pricing Course Name) field. Human-readable description of the billing course/tier.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("料金コース名称")` [L3606] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3607] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3609] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3611] |

### Block 9 — ELSE-IF (key.equals("利用住所")) (L3616)

> The "利用住所" (Usage Address) field. The installation/service delivery location for the telecom service.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("利用住所")` [L3616] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3617] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3619] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3621] |

### Block 10 — ELSE-IF (key.equals("契約状態")) (L3626)

> The "契約状態" (Contract Status) field. Current lifecycle state of the service contract (e.g., active, suspended, terminated).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("契約状態")` [L3626] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3627] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3629] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3631] |

### Block 11 — ELSE-IF (key.equals("SYSID")) (L3636)

> The "SYSID" (System ID) field. Internal system identifier for the service record.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("SYSID")` [L3636] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3637] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3639] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3641] |

### Block 12 — ELSE-IF (key.equals("契約者タイプコード")) (L3646)

> The "契約者タイプコード" (Contractor Type Code) field. Classifies the type of contracting party (individual, corporate, etc.).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("契約者タイプコード")` [L3646] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3647] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3649] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3651] |

### Block 13 — ELSE-IF (key.equals("内販売外販コード")) (L3656)

> The "内販売外販コード" (Internal/External Sales Code) field. Distinguishes between internally sold and externally sold service contracts.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("内販売外販コード")` [L3656] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3657] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3659] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3661] |

### Block 14 — ELSE-IF (key.equals("内販売企業識別コード")) (L3666)

> The "内販売企業識別コード" (Internal Sales Company Identification Code) field. Identifies which company division handles the internal sale.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("内販売企業識別コード")` [L3666] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3667] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3669] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3671] |

### Block 15 — ELSE-IF (key.equals("料金グループコード")) (L3676)

> The "料金グループコード" (Pricing Group Code) field. Groups pricing plans into hierarchical categories.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("料金グループコード")` [L3676] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3677] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3679] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3681] |

### Block 16 — ELSE-IF (key.equals("料金プランコード")) (L3686)

> The "料金プランコード" (Pricing Plan Code) field. The specific pricing plan identifier for the service.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("料金プランコード")` [L3686] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3687] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3689] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3691] |

### Block 17 — ELSE-IF (key.equals("料金プラン名称")) (L3696)

> The "料金プラン名称" (Pricing Plan Name) field. Human-readable name of the pricing plan.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("料金プラン名称")` [L3696] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3697] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3699] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3701] |

### Block 18 — ELSE-IF (key.equals("背景色")) (L3706)

> The "背景色" (Background Color) field. UI configuration for row/cell background color in the data table display.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("背景色")` [L3706] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3707] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3709] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3711] |

### Block 19 — ELSE-IF (key.equals("督促番号")) (L3716)

> The "督促番号" (Dunning Number / Reminder Number) field. Reference number for billing reminder/dunning notices sent to customers.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("督促番号")` [L3716] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3717] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3719] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3721] |

### Block 20 — ELSE-IF (key.equals("督促状態")) (L3726)

> The "督促状態" (Dunning Status) field. Current status of the dunning/reminder process.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("督促状態")` [L3726] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3727] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3729] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3731] |

### Block 21 — ELSE-IF (key.equals("請求オプションサービス契約番号")) (L3736)

> The "請求オプションサービス契約番号" (Billing Option Service Contract Number) field. Identifier for any optional services billed together with the main contract.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("請求オプションサービス契約番号")` [L3736] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3737] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3739] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3741] |

### Block 22 — ELSE-IF (key.equals("申込明細番号")) (L3746)

> The "申込明細番号" (Application Detail Number) field. Line-item identifier within a service application/order.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("申込明細番号")` [L3746] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3747] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3749] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3751] |

### Block 23 — ELSE-IF (key.equals("請求先番号")) (L3756)

> The "請求先番号" (Billing Destination Number) field. Identifier of the entity to bill.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("請求先番号")` [L3756] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3757] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3759] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3761] |

### Block 24 — ELSE-IF (key.equals("課金先番号")) (L3766)

> The "課金先番号" (Charge Destination Number) field. Identifier of the party to be charged for the service.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("課金先番号")` [L3766] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3767] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3769] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3771] |

### Block 25 — ELSE-IF (key.equals("最終更新年月日时分秒")) (L3776)

> The "最終更新年月日时分秒" (Last Update DateTime) field. Timestamp of the most recent modification to this record.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("最終更新年月日时分秒")` [L3776] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3777] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3779] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3781] |

### Block 26 — ELSE-IF (key.equals("変動区分")) (L3786)

> The "変動区分" (Change Classification) field. Categorizes the type of change made to the record (new, modification, cancellation, etc.).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("変動区分")` [L3786] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3787] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3789] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3791] |

### Block 27 — ELSE-IF (key.equals("サービス契約回線内詳番号")) (L3796)

> The "サービス契約回線内詳番号" (Service Contract Line Internal Detail Number) field. Internal line-level identifier within the service contract.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("サービス契約回線内詳番号")` [L3796] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3797] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3799] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3801] |

### Block 28 — ELSE-IF (key.equals("サービスコード")) (L3806)

> The "サービスコード" (Service Code) field. Core service type identifier.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("サービスコード")` [L3806] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3807] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3809] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3811] |

### Block 29 — ELSE-IF (key.equals("サービス契約ステータスコード")) (L3816)

> The "サービス契約ステータスコード" (Service Contract Status Code) field. Machine-readable status code for the service contract lifecycle.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("サービス契約ステータスコード")` [L3816] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3817] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3819] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3821] |

### Block 30 — ELSE-IF (key.equals("請求オプションサービス契約ステータス")) (L3826)

> The "請求オプションサービス契約ステータス" (Billing Option Service Contract Status) field. Status of optional service billing arrangement.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("請求オプションサービス契約ステータス")` [L3826] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3827] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3829] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3831] |

### Block 31 — ELSE-IF (key.equals("請求オプションサービスコード")) (L3836)

> The "請求オプションサービスコード" (Billing Option Service Code) field. Identifier for optional add-on services.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("請求オプションサービスコード")` [L3836] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3837] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3839] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3841] |

### Block 32 — ELSE-IF (key.equals("マンション物件コード")) (L3846)

> The "マンション物件コード" (Apartment Property Code) field. Identifies the apartment/mansion property where the service is installed.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("マンション物件コード")` [L3846] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3847] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3849] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3851] |

### Block 33 — ELSE-IF (key.equals("変動.エ状態コード")) (L3856)

> The "変動.エ状態コード" (Change NG Status Code) field. Status code indicating whether a change operation was rejected (NG = "No Good").

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("変動.エ状態コード")` [L3856] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3857] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3859] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3861] |

### Block 34 — ELSE-IF (key.equals("有効性確認結果区分")) (L3866)

> The "有効性確認結果区分" (Validity Confirmation Result Classification) field. Classification of whether a validity check passed or failed.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("有効性確認結果区分")` [L3866] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3867] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3869] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3871] |

### Block 35 — ELSE-IF (key.equals("サービス契約番号パラメタ")) (L3876)

> The "サービス契約番号パラメタ" (Service Contract Number Parameter) field. A parameterized reference to a service contract number, used for dynamic key construction.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("サービス契約番号パラメタ")` [L3876] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3877] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3879] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3881] |

### Block 36 — ELSE-IF (key.equals("申込番号")) (L3886)

> The "申込番号" (Application Number) field. The main application/order number for the service contract.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("申込番号")` [L3886] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3887] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3889] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3891] |

### Block 37 — ELSE-IF (key.equals("プラン課金開始年月日")) (L3896)

> The "プラン課金開始年月日" (Plan Billing Start Date) field. The date when the pricing plan's billing period begins.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("プラン課金開始年月日")` [L3896] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3897] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3899] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3901] |

### Block 38 — ELSE-IF (key.equals("チェックボックス選択値")) (L3906)

> The "チェックボックス選択値" (Checkbox Selection Value) field. The boolean selection state of a UI checkbox component.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("チェックボックス選択値")` [L3906] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3907] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3909] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3911] |

### Block 39 — ELSE-IF (key.equals("マンション設備システム連携用記録")) (L3916)

> The "マンション設備システム連携用記録" (Apartment Equipment System Integration Record) field. Record data for integration with the building/apartment's equipment management system.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("マンション設備システム連携用記録")` [L3916] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3917] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3919] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3921] |

### Block 40 — ELSE-IF (key.equals("マンション通信設備コード")) (L3926)

> The "マンション通信設備コード" (Apartment Communication Equipment Code) field. Identifier for the communication equipment installed in the apartment.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("マンション通信設備コード")` [L3926] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3927] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3929] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3931] |

### Block 41 — ELSE-IF (key.equals("工事案件番号")) (L3936)

> The "工事案件番号" (Construction Project Number) field. Identifier for the installation/construction work order.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("工事案件番号")` [L3936] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3937] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3939] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3941] |

### Block 42 — ELSE-IF (key.equals("提供方式契約番号")) (L3946)

> The "提供方式契約番号" (Provision Method Contract Number) field. Identifies the contract under a specific service delivery/provision method.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("提供方式契約番号")` [L3946] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3947] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3949] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3951] |

### Block 43 — ELSE-IF (key.equals("複製元提供方式契約番号")) (L3956)

> The "複製元提供方式契約番号" (Replica Source Provision Method Contract Number) field. The original contract number when this contract is a copy/replica of another.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("複製元提供方式契約番号")` [L3956] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3957] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3959] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3961] |

### Block 44 — ELSE-IF (key.equals("マンションID")) (L3966)

> The "マンションID" (Apartment ID) field. Unique identifier for the apartment/mansion building.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("マンションID")` [L3966] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3967] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3969] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3971] |

### Block 45 — ELSE-IF (key.equals("カテゴリID")) (L3976)

> The "カテゴリID" (Category ID) field. Identifier for the product/service category classification.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("カテゴリID")` [L3976] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3977] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3979] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3981] |

### Block 46 — ELSE-IF (key.equals("回線使用契約タイプコード")) (L3986)

> The "回線使用契約タイプコード" (Line Usage Contract Type Code) field. Type code for the line usage contract (e.g., individual, shared).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線使用契約タイプコード")` [L3986] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3987] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3989] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L3991] |

### Block 47 — ELSE-IF (key.equals("回線内販売外販コード")) (L3996)

> The "回線内販売外販コード" (Line Internal/External Sales Code) field. Distinguishes internal vs. external sales at the line-item level.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線内販売外販コード")` [L3996] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L3997] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L3999] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4001] |

### Block 48 — ELSE-IF (key.equals("回線内販売企業識別コード")) (L4006)

> The "回線内販売企業識別コード" (Line Internal Sales Company Identification Code) field. Company division identifier for line-level internal sales.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線内販売企業識別コード")` [L4006] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4007] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4009] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4011] |

### Block 49 — ELSE-IF (key.equals("オーナー契約番号")) (L4021)

> The "オーナー契約番号" (Owner Contract Number) field. Identifier for the property owner's contract.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("オーナー契約番号")` [L4021] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4022] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4024] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4026] |

### Block 50 — ELSE-IF (key.equals("回線使用契約物件都道府県名")) (L4031)

> The "回線使用契約物件都道府県名" (Line Usage Contract Property Prefecture Name) field. The prefecture (都道府県) where the line usage contract property is located.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線使用契約物件都道府県名")` [L4031] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4032] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4034] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4036] |

### Block 51 — ELSE-IF (key.equals("回線使用契約物件市区町地名")) (L4041)

> The "回線使用契約物件市区町地名" (Line Usage Contract Property City/Town/Village Name) field. The city/municipality level address component.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線使用契約物件市区町地名")` [L4041] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4042] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4044] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4046] |

### Block 52 — ELSE-IF (key.equals("回線使用契約物件大字通称名")) (L4051)

> The "回線使用契約物件大字通称名" (Line Usage Contract Property District/Aza Name) field. The district-level address component (大字/あざ) in Japanese addressing.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線使用契約物件大字通称名")` [L4051] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4052] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4054] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4056] |

### Block 53 — ELSE-IF (key.equals("回線使用契約物件字丁目名")) (L4061)

> The "回線使用契約物件字丁目名" (Line Usage Contract Property Chome Name) field. The chome (丁目) level address component.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線使用契約物件字丁目名")` [L4061] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4062] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4064] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4066] |

### Block 54 — ELSE-IF (key.equals("回線使用契約物件番地号")) (L4071)

> The "回線使用契約物件番地号" (Line Usage Contract Property Block/Lot Number) field. The ban-chigo (番地号) level address component — the specific lot/building number.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("回線使用契約物件番地号")` [L4071] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4072] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4074] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4076] |

### Block 55 — ELSE-IF (key.equals("マンションSYSID")) (L4081)

> The "マンションSYSID" (Apartment System ID) field. System-level identifier for the apartment entry.

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("マンションSYSID")` [L4081] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4082] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4084] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4086] |

### Block 56 — ELSE-IF (key.equals("マンションお客様ID")) (L4091)

> The "マンションお客様ID" (Apartment Customer ID) field. Customer identifier within the apartment context (may differ from top-level customer ID).

| # | Type | Code |
|---|------|------|
| 1 | ELSE-IF | `key.equals("マンションお客様ID")` [L4091] |
| 1.1 | ELSE-IF | `subkey.equalsIgnoreCase("value")` -> `return String.class` [L4092] |
| 1.2 | ELSE-IF | `subkey.equalsIgnoreCase("enable")` -> `return Boolean.class` [L4094] |
| 1.3 | ELSE-IF | `subkey.equalsIgnoreCase("state")` -> `return String.class` [L4096] |

### Block 57 — ELSE (No matching key found) (L4101)

> Final catch-all: No matching key was found among the 50 defined fields. Return null to indicate an unknown field.
> The comment says: 条件に一致するプロパティが存在しない場合は、nullを返す。(If no property matches the condition, return null.)

| # | Type | Code |
|---|------|------|
| 1 | ELSE | `return null` [L4101] // 条件に一致するプロパティが存在しない場合は、nullを返す (If no property matching the condition exists, return null) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `選択` (l_sel) | Field | Selection — a Boolean checkbox/select UI component in the data table |
| お客様ID (l_svc_kei_no) | Field | Customer ID — internal identifier for the customer/subscriber |
| 契約サービスコード (l_svc_kei_cd) | Field | Contract Service Code — identifies the type of telecom service (e.g., FTTH, DSL, IP-Phone) |
| 契約サービス名称 (l_svc_kei_nm) | Field | Contract Service Name — human-readable service type name |
| 料金コースコード (l_pcrs_cd) | Field | Pricing Course Code — billing tier/course identifier |
| 料金コース名称 (l_pcrs_nm) | Field | Pricing Course Name — human-readable billing tier name |
| 利用住所 (l_use_place) | Field | Usage Address — installation/service delivery location |
| 契約状態 (l_svc_kei_stat) | Field | Contract Status — lifecycle state of the service contract (active/suspended/terminated) |
| SYSID (l_sysid) | Field | System ID — internal system-generated unique identifier |
| 契約者タイプコード (l_keisha_type_cd) | Field | Contractor Type Code — type of contracting party (individual/corporate) |
| 内販売外販コード (l_naihan_gaihan_cd) | Field | Internal/External Sales Code — distinguishes internally vs. externally sold contracts |
| 内販売企業識別コード (l_naihan_comp_skbt_cd) | Field | Internal Sales Company ID Code — identifies the selling company division for internal sales |
| 料金グループコード (l_prc_grp_cd) | Field | Pricing Group Code — hierarchical pricing plan group identifier |
| 料金プランコード (l_pplan_cd) | Field | Pricing Plan Code — specific pricing plan identifier |
| 料金プラン名称 (l_pplan_nm) | Field | Pricing Plan Name — human-readable pricing plan name |
| 背景色 (l_color) | Field | Background Color — UI row/cell background color setting |
| 督促番号 (l_tokusoku_no) | Field | Dunning Number — billing reminder/reference number |
| 督促状態 (l_tokusoku_stat) | Field | Dunning Status — current status of the billing reminder process |
| 請求オプションサービス契約番号 (l_seiopsvc_kei_no) | Field | Billing Option Service Contract Number — optional service contract reference |
| 申込明細番号 (l_mskm_dtl_no) | Field | Application Detail Number — line-item ID within a service application |
| 請求先番号 (l_seiky_kei_no) | Field | Billing Destination Number — entity to bill |
| 課金先番号 (l_kakins_no) | Field | Charge Destination Number — party to be charged |
| 最終更新年月日时分秒 (l_last_upd_dtm) | Field | Last Update DateTime — timestamp of last record modification |
| 変動区分 (l_ido_div) | Field | Change Classification — type of record change (new/modification/cancellation) |
| サービス契約回線内詳番号 (l_svc_kei_kaisen_ucwk_no) | Field | Service Contract Line Internal Detail Number — internal line-level contract ID |
| サービスコード (l_svc_cd) | Field | Service Code — core service type identifier |
| サービス契約ステータスコード (l_svc_kei_stat_cd) | Field | Service Contract Status Code — machine-readable contract status code |
| 請求オプションサービス契約ステータス (l_seiopsvc_kei_stat) | Field | Billing Option Service Contract Status — status of optional service billing |
| 請求オプションサービスコード (l_seiopsvc_cd) | Field | Billing Option Service Code — optional add-on service identifier |
| マンション物件コード (l_mansion_bukken_cd) | Field | Apartment Property Code — apartment/building property identifier |
| 変動.エ状態コード (l_ido_ng_stat_cd) | Field | Change NG Status Code — status indicating if a change was rejected |
| 有効性確認結果区分 (l_yk_cfm_rslt_div) | Field | Validity Confirmation Result Classification — result of validation checks |
| サービス契約番号パラメタ (l_svc_kei_no_param) | Field | Service Contract Number Parameter — parameterized reference to a contract number |
| 申込番号 (l_mskm_no) | Field | Application Number — main application/order identifier |
| プラン課金開始年月日 (l_plan_chrg_staymd) | Field | Plan Billing Start Date — date when the pricing plan billing begins |
| チェックボックス選択値 (l_checked_sel) | Field | Checkbox Selection Value — state of a UI checkbox component |
| マンション設備システム連携用記録 (l_manssbsys_rnki_kijiran) | Field | Apartment Equipment System Integration Record — data for building equipment system integration |
| マンション通信設備コード (l_mans_tushin_equip_cd) | Field | Apartment Communication Equipment Code — telecom equipment identifier in apartment |
| 工事案件番号 (l_kojiak_no) | Field | Construction Project Number — installation work order identifier |
| 提供方式契約番号 (l_tk_hoshiki_kei_no) | Field | Provision Method Contract Number — contract under a specific delivery method |
| 複製元提供方式契約番号 (l_replica_moto_tk_hsk_kei_no) | Field | Replica Source Provision Method Contract Number — original contract when this is a copy |
| マンションID (l_mansion_id) | Field | Apartment ID — unique apartment building identifier |
| カテゴリID (l_catid) | Field | Category ID — product/service category classification |
| 回線使用契約タイプコード (l_kaisen_use_kei_type_cd) | Field | Line Usage Contract Type Code — type of line usage contract |
| 回線内販売外販コード (l_mans_naihan_gaihan_cd) | Field | Line Internal/External Sales Code — sales classification at line level |
| 回線内販売企業識別コード (l_mans_naihan_comp_skbt_cd) | Field | Line Internal Sales Company ID Code — company division for line-level internal sales |
| オーナー契約番号 (l_ownr_kei_no) | Field | Owner Contract Number — property owner's contract identifier |
| 回線使用契約物件都道府県名 (l_kisnusekei_bkn_state_nm) | Field | Line Usage Contract Property Prefecture Name — prefecture of the contract property |
| 回線使用契約物件市区町地名 (l_kisnusekei_bkn_city_nm) | Field | Line Usage Contract Property City/Town/Village Name — municipality of the property |
| 回線使用契約物件大字通称名 (l_kisnusekei_bkn_oaztsu_nm) | Field | Line Usage Contract Property District Name — district (aza) level address |
| 回線使用契約物件字丁目名 (l_kisnusekei_bkn_azcho_nm) | Field | Line Usage Contract Property Chome Name — chome-level address component |
| 回線使用契約物件番地号 (l_kisnusekei_bkn_bnchigo) | Field | Line Usage Contract Property Lot Number — ban-chigo (block/lot) level address |
| マンションSYSID (l_mans_sysid) | Field | Apartment System ID — system identifier for apartment entry |
| マンションお客様ID (l_mans_svc_kei_no) | Field | Apartment Customer ID — customer identifier within apartment context |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| KKW05501SF | Screen | Service Contract Detail List screen — the telecom order management screen displaying service contract records |
| Bean | Pattern | A Java component class that holds and routes data type metadata for a screen's form fields |