# Business Logic — KKA14901SFLogic.setBtnVisibleAtTv() [207 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA14901SF.KKA14901SFLogic` |
| Layer | Controller / WebLogic (Package: `eo.web.webview.KKA14901SF`) |
| Module | `KKA14901SF` (Package: `eo.web.webview.KKA14901SF`) |

## 1. Role

### KKA14901SFLogic.setBtnVisibleAtTv()

This method determines the visibility of eight action buttons on the KKA14901SF TV (television/interactive display) screen by evaluating two business inputs: the `ido_div` (migration/transaction division code) and the `op_svc_kei_list_ari` flag indicating whether an option service contract exists. It implements a **dispatch-by-transaction-type** design pattern, branching across four distinct migration scenarios — New Contract (`ido_div = "00001"`), Service Addition (`ido_div = "00002"`), Option Setting (`ido_div = "00031"`), and Option Reservation Cancellation (`ido_div = "00055"`), plus a default "no applicable setting" fallback. For each migration type, it further branches based on whether the caller has associated option service line items (`op_svc_kei_list_ari`), producing a distinct button layout in each case. The method also applies a fine-grained rule under the Option Setting branch: when the operation service code is for eo TV Cable TV Guide (`"0290"`) or NHK Group Bulk Payment (`"0310"`), the Change button is additionally enabled. Ultimately, the method writes the computed visibility flags into `paramBean[0]` via `sendMessageString`, making them available to the presentation layer to show or hide UI buttons. Its role in the larger system is a shared UI-state resolver called by `setKbnButtonVisible()`, ensuring the TV screen presents only contextually appropriate actions.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setBtnVisibleAtTv params"])

    START --> INIT["Initialize all 8 button visibility vars to 1"]

    INIT --> CHECK_IDO["Check ido_div value"]

    CHECK_IDO --> BR1["IDO_DIV = 00001 or 00002
New Contract / Service Addition"]
    CHECK_IDO --> BR2["IDO_DIV = 00031
Option Setting"]
    CHECK_IDO --> BR3["IDO_DIV = 00055
Option Reservation Cancellation"]
    CHECK_IDO --> BR4["Else: No applicable setting"]

    BR1 --> SET_BK_B["Set bk_btn_v_kbn to 0
Return button hidden"]
    SET_BK_B --> BR1_OPSVCKEI["Check op_svc_kei_list_ari"]

    BR1_OPSVCKEI --> BR1_A["op_svc_kei_list_ari is true
Option exists"]
    BR1_OPSVCKEI --> BR1_B["op_svc_kei_list_ari is false
No option"]

    BR1_A --> BR1A_SET["Set: rireki=0, shokai=1, add=1, chg=0, dsl=1, kaihk=0, rsv=0"]
    BR1_B --> BR1B_SET["Set: rireki=0, shokai=0, add=1, chg=0, dsl=0, kaihk=0, rsv=0"]

    BR2 --> SET_BK_C["Set bk_btn_v_kbn to 1
Return button visible"]
    SET_BK_C --> BR2_OPSVCKEI["Check op_svc_kei_list_ari"]

    BR2_OPSVCKEI --> BR2_A["op_svc_kei_list_ari is true
Option exists"]
    BR2_OPSVCKEI --> BR2_B["op_svc_kei_list_ari is false
No option"]

    BR2_A --> BR2A_SET["Set: rireki=1, shokai=1, add=1, dsl=1, kaihk=0, rsv=1"]
    BR2A_SET --> BR2A_CHECKSVC["Check op_svc_cd value"]

    BR2A_CHECKSVC --> BR2A_0290["op_svc_cd = 0290
eo TV Cable TV Guide"]
    BR2A_CHECKSVC --> BR2A_0310["op_svc_cd = 0310
NHK Group Bulk Payment"]
    BR2A_CHECKSVC --> BR2A_OTHER["Else: Other service"]

    BR2A_0290 --> BR2A_0290_SET["Set chg_btn_v_kbn to 1"]
    BR2A_0310 --> BR2A_0310_SET["Set chg_btn_v_kbn to 1"]
    BR2A_OTHER --> BR2A_OTHER_SET["Set chg_btn_v_kbn to 0"]

    BR2_B --> BR2B_SET["Set: rireki=0, shokai=0, add=1, chg=0, dsl=0, kaihk=0, rsv=0"]

    BR3 --> SET_BK_D["Set bk_btn_v_kbn to 1
Return button visible"]
    SET_BK_D --> BR3_OPSVCKEI["Check op_svc_kei_list_ari"]

    BR3_OPSVCKEI --> BR3_A["op_svc_kei_list_ari is true
Option exists"]
    BR3_OPSVCKEI --> BR3_B["op_svc_kei_list_ari is false
No option"]

    BR3_A --> BR3A_SET["Set: rireki=1, shokai=0, add=0, chg=0, dsl=0, kaihk=0, rsv=1"]
    BR3_B --> BR3B_SET["Set: rireki=0, shokai=0, add=0, chg=0, dsl=0, kaihk=0, rsv=0"]

    BR4 --> BR4_BK["Set bk_btn_v_kbn to 3
Return button not closed"]
    BR4_BK --> BR4_OPSVCKEI["Check op_svc_kei_list_ari"]

    BR4_OPSVCKEI --> BR4_A["op_svc_kei_list_ari is true
Option exists"]
    BR4_OPSVCKEI --> BR4_B["op_svc_kei_list_ari is false
No option"]

    BR4_A --> BR4A_SET["Set: rireki=1, shokai=1, add=0, chg=0, dsl=0, kaihk=0, rsv=0"]
    BR4_B --> BR4B_SET["Set: rireki=0, shokai=0, add=0, chg=0, dsl=0, kaihk=0, rsv=0"]

    BR1A_SET --> WRITE
    BR1B_SET --> WRITE
    BR2A_SET --> WRITE
    BR2A_0290_SET --> WRITE
    BR2A_0310_SET --> WRITE
    BR2A_OTHER_SET --> WRITE
    BR2B_SET --> WRITE
    BR3A_SET --> WRITE
    BR3B_SET --> WRITE
    BR4A_SET --> WRITE
    BR4B_SET --> WRITE

    WRITE["Write 8 buttons to paramBean via sendMessageString"]

    WRITE --> END_NODE(["Return"])
```

**Branch summary with resolved constants:**

| Branch | `ido_div` | `op_svc_kei_list_ari` | Key behavior |
|--------|-----------|-----------------------|--------------|
| New Contract / Service Addition | `"00001"` or `"00002"` | true | Return hidden. History hidden. Add and View available. Change hidden. |
| New Contract / Service Addition | `"00001"` or `"00002"` | false | Return hidden. History and View hidden. Only Add available. |
| Option Setting | `"00031"` | true | All buttons active except Restoration. Change enabled only for Cable TV Guide (`"0290"`) or NHK Group Bulk Payment (`"0310"`). |
| Option Setting | `"00031"` | false | Return hidden. Only Add available. |
| Option Reservation Cancellation | `"00055"` | true | History and Reservation Cancellation available. All others hidden. |
| Option Reservation Cancellation | `"00055"` | false | All buttons hidden. |
| Default (no applicable setting) | other / null | true | Return button set to `"3"` (not closed). History and View available. |
| Default (no applicable setting) | other / null | false | All buttons hidden. Return set to `"3"`. |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `paramBean` | `OneStopDataBeanAccess[]` | Array of data bean access objects used to pass computed button visibility state back to the presentation layer. `paramBean[0]` receives 8 key-value pairs (one per button) via `sendMessageString`. |
| 2 | `ido_div` | `String` | Migration/transaction division code (ido = 移動). Determines which business operation context the screen is in — New Contract (`"00001"`), Service Addition (`"00002"`), Option Setting (`"00031"`), or Option Reservation Cancellation (`"00055"`). Values not matching any of these trigger the default "no applicable setting" branch. |
| 3 | `op_svc_cd` | `String` | Operation service code. Narrowly scoped to the Option Setting branch (`ido_div = "00031"` with options present). When set to `"0290"`, it denotes eo TV Cable TV Guide service; when `"0310"`, it denotes NHK Group Bulk Payment. In these two cases, the Change button is additionally enabled. |
| 4 | `op_svc_kei_list_ari` | `boolean` | Option service line item existence flag (op_svc_kei_list_ari = オプション系列有). `true` means the customer has at least one associated option service contract; `false` means no options. This flag acts as a secondary branching condition inside every `ido_div` branch, producing a simplified button layout when no options exist. |

**Instance fields read:** None. This method is purely stateless — it reads only its parameters.

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| W | `OneStopDataBeanAccess.sendMessageString` | - | - | Writes 8 button visibility key-value pairs into `paramBean[0]`. This is a presentation-layer write operation — not a database CRUD, but a data bean setter that propagates the computed UI state to the calling screen. |

**Analysis:** This method performs **no database reads, creates, or deletes**. It is a pure computation and dispatch method. All its side effects are through `sendMessageString` calls on the `OneStopDataBeanAccess` parameter, which sets display-state keys in the data bean for the TV screen. There are no SC (Service Component) or CBS (Common Business Service) calls — the method contains no entity operations, SQL execution, or remote service invocation.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | KKA14901SFLogic.setKbnButtonVisible | `setKbnButtonVisible` -> `setBtnVisibleAtTv` | `sendMessageString [W] paramBean[0]` (8 calls) |

**Notes:** The only known caller is `setKbnButtonVisible()` within the same class. No screen (KKSV) or batch entry points were found within 8 hops. The terminal operations from this method are all `sendMessageString` calls writing to `paramBean[0]` — these are in-memory data bean writes, not database operations.

## 6. Per-Branch Detail Blocks

**Block 1** — [VARIABLE DECLARATIONS] (L5227-L5234)

> Initialize all 8 button visibility variables to `"1"` (visible by default). Japanese comments indicate: `rirei_shokai` (History View), `shokai` (View), `add` (Add), `chg` (Change), `dsl` (Contract Cancellation), `kaihk` (Restoration), `rsv_cl` (Reservation Cancellation), `bk` (Return).

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "1"` // History View — visible [-> default: visible] |
| 2 | SET | `shokai_btn_v_kbn = "1"` // View — visible [-> default: visible] |
| 3 | SET | `add_btn_v_kbn = "1"` // Add — visible [-> default: visible] |
| 4 | SET | `chg_btn_v_kbn = "1"` // Change — visible [-> default: visible] |
| 5 | SET | `dsl_btn_v_kbn = "1"` // Contract Cancellation — visible [-> default: visible] |
| 6 | SET | `kaihk_btn_v_kbn = "1"` // Restoration — visible [-> default: visible] |
| 7 | SET | `rsv_cl_btn_v_kbn = "1"` // Reservation Cancellation — visible [-> default: visible] |
| 8 | SET | `bk_btn_v_kbn = "1"` // Return — visible [-> default: visible] |

---

**Block 2** — [IF] `JKKCommonConst.IDO_DIV_VALUE_00001.equals(ido_div) || JKKCommonConst.IDO_DIV_VALUE_00002.equals(ido_div)` (IDO_DIV = "00001" or "00002" — New Contract / Service Addition) (L5247)

> This is the first primary branch: New Contract (`"00001"`) or Service Addition (`"00002"`). The Return button is always hidden in this context. Button layout further depends on whether the customer has option service line items.

**Block 2.1** — [SET] bk_btn_v_kbn override (L5253)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bk_btn_v_kbn = "0"` // Return button hidden |

---

**Block 2.2** — [IF] `op_svc_kei_list_ari` is true (Option exists) (L5257)

> When options exist during New Contract / Service Addition: history view is hidden (marked non-active in comment), View and Add are available, Change is hidden (non-active), Contract Cancellation is available, Restoration is hidden (non-active), Reservation Cancellation is hidden (non-active).

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "0"` // History View — hidden [-> non-active] |
| 2 | SET | `shokai_btn_v_kbn = "1"` // View — visible |
| 3 | SET | `add_btn_v_kbn = "1"` // Add — visible |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "1"` // Contract Cancellation — visible |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "0"` // Reservation Cancellation — hidden [-> non-active] |

---

**Block 2.3** — [ELSE] `op_svc_kei_list_ari` is false (No option) (L5268)

> When no options exist during New Contract / Service Addition: a more restrictive layout. History, View, Change, Contract Cancellation, Restoration, and Reservation Cancellation are all hidden. Only Add remains available.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "0"` // History View — hidden [-> non-active] |
| 2 | SET | `shokai_btn_v_kbn = "0"` // View — hidden [-> non-active] |
| 3 | SET | `add_btn_v_kbn = "1"` // Add — visible |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "0"` // Contract Cancellation — hidden [-> non-active] |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "0"` // Reservation Cancellation — hidden [-> non-active] |

---

**Block 3** — [ELSE-IF] `JKKCommonConst.IDO_DIV_VALUE_00031.equals(ido_div)` (IDO_DIV = "00031" — Option Setting) (L5282)

> This is the second primary branch: Option Setting. The Return button is visible. Button layout depends on whether options exist, with an additional nested check on `op_svc_cd` when options are present.

**Block 3.1** — [SET] bk_btn_v_kbn override (L5288)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bk_btn_v_kbn = "1"` // Return button visible |

---

**Block 3.2** — [IF] `op_svc_kei_list_ari` is true (Option exists) (L5293)

> When options exist during Option Setting: most buttons are active. History, View, Add, and Contract Cancellation are enabled. Restoration is hidden (non-active). Reservation Cancellation is enabled.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "1"` // History View — visible |
| 2 | SET | `shokai_btn_v_kbn = "1"` // View — visible |
| 3 | SET | `add_btn_v_kbn = "1"` // Add — visible |
| 4 | SET | `dsl_btn_v_kbn = "1"` // Contract Cancellation — visible |
| 5 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 6 | SET | `rsv_cl_btn_v_kbn = "1"` // Reservation Cancellation — visible |

---

**Block 3.2.1** — [IF] `JKKCommonConst.OP_SVC_CD_VALUE_0290.equals(op_svc_cd)` (op_svc_cd = "0290" — eo TV Cable TV Guide) (L5303)

> For eo TV Cable TV Guide service, the Change button is enabled (allowing modification of the cable TV guide setting).

| # | Type | Code |
|---|------|------|
| 1 | SET | `chg_btn_v_kbn = "1"` // Change — visible |

---

**Block 3.2.2** — [ELSE-IF] `JKKCommonConst.OP_SVC_CD_VALUE_0310.equals(op_svc_cd)` (op_svc_cd = "0310" — NHK Group Bulk Payment) (L5308)

> For NHK Group Bulk Payment service, the Change button is enabled (allowing modification of the NHK bulk payment setting).

| # | Type | Code |
|---|------|------|
| 1 | SET | `chg_btn_v_kbn = "1"` // Change — visible |

---

**Block 3.2.3** — [ELSE] Other service codes (L5313)

> For any other service code where options exist but it is NOT Cable TV Guide or NHK Bulk Payment, Change is hidden (non-active).

| # | Type | Code |
|---|------|------|
| 1 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |

---

**Block 3.3** — [ELSE] `op_svc_kei_list_ari` is false (No option) (L5319)

> When no options exist during Option Setting: same restrictive layout as the New Contract / Service Addition no-option branch. Only Add is available.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "0"` // History View — hidden [-> non-active] |
| 2 | SET | `shokai_btn_v_kbn = "0"` // View — hidden [-> non-active] |
| 3 | SET | `add_btn_v_kbn = "1"` // Add — visible |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "0"` // Contract Cancellation — hidden [-> non-active] |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "0"` // Reservation Cancellation — hidden [-> non-active] |

---

**Block 4** — [ELSE-IF] `JKKCommonConst.IDO_DIV_VALUE_00055.equals(ido_div)` (IDO_DIV = "00055" — Option Reservation Cancellation) (L5332)

> This is the third primary branch: Option Reservation Cancellation. The Return button is visible. This branch is very restrictive — when options exist, only History View and Reservation Cancellation are available; when no options exist, all buttons are hidden.

**Block 4.1** — [SET] bk_btn_v_kbn override (L5338)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bk_btn_v_kbn = "1"` // Return button visible |

---

**Block 4.2** — [IF] `op_svc_kei_list_ari` is true (Option exists) (L5343)

> When options exist during Option Reservation Cancellation: only History View and Reservation Cancellation are enabled. View, Add, Change, Contract Cancellation, and Restoration are all hidden (non-active).

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "1"` // History View — visible |
| 2 | SET | `shokai_btn_v_kbn = "0"` // View — hidden [-> non-active] |
| 3 | SET | `add_btn_v_kbn = "0"` // Add — hidden [-> non-active] |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "0"` // Contract Cancellation — hidden [-> non-active] |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "1"` // Reservation Cancellation — visible |

---

**Block 4.3** — [ELSE] `op_svc_kei_list_ari` is false (No option) (L5354)

> When no options exist during Option Reservation Cancellation: all buttons are hidden. No action is available.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "0"` // History View — hidden [-> non-active] |
| 2 | SET | `shokai_btn_v_kbn = "0"` // View — hidden [-> non-active] |
| 3 | SET | `add_btn_v_kbn = "0"` // Add — hidden [-> non-active] |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "0"` // Contract Cancellation — hidden [-> non-active] |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "0"` // Reservation Cancellation — hidden [-> non-active] |

---

**Block 5** — [ELSE] Default: no applicable setting (L5365)

> This catch-all branch handles any `ido_div` value not matching the four known migration types. The Return button is set to `"3"` (not closed) — a modification from the original `"0"` (closed) per change request ANK-2121-00-00 dated 2014/06/24.

**Block 5.1** — [SET] bk_btn_v_kbn override (L5371)

| # | Type | Code |
|---|------|------|
| 1 | SET | `bk_btn_v_kbn = "3"` // Return button — not closed [-> ANK-2121-00-00 Mod: changed from "0"] |

---

**Block 5.2** — [IF] `op_svc_kei_list_ari` is true (Option exists) (L5379)

> In the default "no applicable setting" case, when options exist: History View and View are available. Add, Change, Contract Cancellation, Restoration, and Reservation Cancellation are all hidden (non-active).

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "1"` // History View — visible |
| 2 | SET | `shokai_btn_v_kbn = "1"` // View — visible |
| 3 | SET | `add_btn_v_kbn = "0"` // Add — hidden [-> non-active] |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "0"` // Contract Cancellation — hidden [-> non-active] |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "0"` // Reservation Cancellation — hidden [-> non-active] |

---

**Block 5.3** — [ELSE] `op_svc_kei_list_ari` is false (No option) (L5390)

> In the default "no applicable setting" case with no options: all buttons hidden. Only Return (set to `"3"`) remains.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rirei_shokai_btn_v_kbn = "0"` // History View — hidden [-> non-active] |
| 2 | SET | `shokai_btn_v_kbn = "0"` // View — hidden [-> non-active] |
| 3 | SET | `add_btn_v_kbn = "0"` // Add — hidden [-> non-active] |
| 4 | SET | `chg_btn_v_kbn = "0"` // Change — hidden [-> non-active] |
| 5 | SET | `dsl_btn_v_kbn = "0"` // Contract Cancellation — hidden [-> non-active] |
| 6 | SET | `kaihk_btn_v_kbn = "0"` // Restoration — hidden [-> non-active] |
| 7 | SET | `rsv_cl_btn_v_kbn = "0"` // Reservation Cancellation — hidden [-> non-active] |

---

**Block 6** — [EXEC] Write button visibility values to paramBean (L5402-L5409)

> Write all 8 computed button visibility flags to `paramBean[0]` using `sendMessageString`. Each call sets a specific button key with the value `"1"` (visible) or `"0"` (hidden). The constant `X31CWebConst.DATABEAN_SET_VALUE` is used as the value type indicator.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `paramBean[0].sendMessageString(BK_BTN_V_KBN, DATABEAN_SET_VALUE, bk_btn_v_kbn)` // Write Return button state |
| 2 | EXEC | `paramBean[0].sendMessageString(RSV_CL_BTN_V_KBN, DATABEAN_SET_VALUE, rsv_cl_btn_v_kbn)` // Write Reservation Cancellation button state |
| 3 | EXEC | `paramBean[0].sendMessageString(KAIHK_BTN_V_KBN, DATABEAN_SET_VALUE, kaihk_btn_v_kbn)` // Write Restoration button state |
| 4 | EXEC | `paramBean[0].sendMessageString(DSL_BTN_V_KBN, DATABEAN_SET_VALUE, dsl_btn_v_kbn)` // Write Contract Cancellation button state |
| 5 | EXEC | `paramBean[0].sendMessageString(CHG_BTN_V_KBN, DATABEAN_SET_VALUE, chg_btn_v_kbn)` // Write Change button state |
| 6 | EXEC | `paramBean[0].sendMessageString(ADD_BTN_V_KBN, DATABEAN_SET_VALUE, add_btn_v_kbn)` // Write Add button state |
| 7 | EXEC | `paramBean[0].sendMessageString(SHOKAI_BTN_V_KBN, DATABEAN_SET_VALUE, shokai_btn_v_kbn)` // Write View button state |
| 8 | EXEC | `paramBean[0].sendMessageString(RIREKI_SHOKAI_BTN_V_KBN, DATABEAN_SET_VALUE, rireki_shokai_btn_v_kbn)` // Write History View button state |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `ido_div` | Field | Migration/Transaction Division Code (移動区分) — classifies the type of customer contract operation being performed (New Contract, Service Addition, Option Setting, Option Reservation Cancellation, etc.) |
| `op_svc_cd` | Field | Operation Service Code ( operation service code) — identifies the specific telecom service being operated on (e.g., Cable TV Guide, NHK Group Bulk Payment) |
| `op_svc_kei_list_ari` | Field | Option Service Line Item Existence Flag (オプション系列有) — `true` when the customer has at least one associated option service contract line item; `false` otherwise |
| `rirei_shokai_btn_v_kbn` | Field | History View Button Visibility Code (履歴表示ボタン表示区分) — `"1"` = show, `"0"` = hide, `"3"` = not closed |
| `shokai_btn_v_kbn` | Field | View Button Visibility Code (表示ボタン表示区分) — `"1"` = show, `"0"` = hide |
| `add_btn_v_kbn` | Field | Add Button Visibility Code (追加ボタン表示区分) — `"1"` = show, `"0"` = hide |
| `chg_btn_v_kbn` | Field | Change Button Visibility Code (変更ボタン表示区分) — `"1"` = show, `"0"` = hide |
| `dsl_btn_v_kbn` | Field | Contract Cancellation Button Visibility Code (解約ボタン表示区分) — `"1"` = show, `"0"` = hide |
| `kaihk_btn_v_kbn` | Field | Restoration Button Visibility Code (再開ボタン表示区分) — `"1"` = show, `"0"` = hide |
| `rsv_cl_btn_v_kbn` | Field | Reservation Cancellation Button Visibility Code (予約取消ボタン表示区分) — `"1"` = show, `"0"` = hide |
| `bk_btn_v_kbn` | Field | Return Button Visibility Code (戻るボタン表示区分) — `"1"` = show, `"0"` = hidden/closed, `"3"` = not closed |
| `BK_BTN_V_KBN` | Constant | Key name for the Return button visibility in the data bean (「戻るボタン表示区分」) |
| `RSV_CL_BTN_V_KBN` | Constant | Key name for the Reservation Cancellation button visibility in the data bean |
| `KAIHK_BTN_V_KBN` | Constant | Key name for the Restoration button visibility in the data bean |
| `DSL_BTN_V_KBN` | Constant | Key name for the Contract Cancellation button visibility in the data bean |
| `CHG_BTN_V_KBN` | Constant | Key name for the Change button visibility in the data bean |
| `ADD_BTN_V_KBN` | Constant | Key name for the Add button visibility in the data bean |
| `SHOKAI_BTN_V_KBN` | Constant | Key name for the View button visibility in the data bean |
| `RIREKI_SHOKAI_BTN_V_KBN` | Constant | Key name for the History View button visibility in the data bean |
| `DATABEAN_SET_VALUE` | Constant | Data bean value type indicator used with `sendMessageString` to set a key-value pair |
| `"00001"` | Constant Value | New Contract (新規契約) |
| `"00002"` | Constant Value | Service Addition (サービス追加) |
| `"00031"` | Constant Value | Option Setting (オプション設定) |
| `"00055"` | Constant Value | Option Reservation Cancellation (オプション予約取消) |
| `"0290"` | Constant Value | eo TV Cable TV Guide (eo光テレビケーブルテレビガイド) — operation service code for TV guide services |
| `"0310"` | Constant Value | NHK Group Bulk Payment (NHK団体一括支払い) — operation service code for bulk NHK broadcasting fee payments |
| `OneStopDataBeanAccess` | Class | Data bean access wrapper used in the OneStop (unified web) architecture to pass screen data and messages between layers |
| `sendMessageString` | Method | Writes a string key-value pair into the data bean for the presentation layer to consume |
| TV screen | Domain term | The interactive television display screen (KKA14901SF) where customers manage their telecom services |
| `paramBean` | Field | The data bean array passed into the method, carrying button visibility state from this logic layer to the presentation layer |
