# Business Logic — KKW04202SFLogic.dataConvertCodeToDisp() [1397 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW04202SF.KKW04202SFLogic` |
| Layer | Service / Screen Logic (Controller-Side Logic) |
| Module | `KKW04202SF` (Package: `eo.web.webview.KKW04202SF`) |

## 1. Role

### KKW04202SFLogic.dataConvertCodeToDisp()

This method performs **item data conversion from internal codes to display values** (項目データ変換: コード => 表示分) for the KKW04202SF screen, which handles **customer address change registrations with simultaneous service modifications** (住所変更同時契約) in NTT's telecom business domain. It processes a single-row `X31SDataBeanAccess[]` bean array containing all screen field values and the `chgAddPtn` parameter indicating the change/addition pattern.

The method handles **three primary service categories**: (1) **EO Hikari Net** (fiber broadband), (2) **EO Hikari Phone** (telephone), and (3) **EO Hikari TV** (digital television). For each service category, it converts selected dropdown codes into their corresponding display name values by calling `getPdnSelectedCd()` and `getPdnSelectedNm()` helper methods, which resolve display names from dropdown selection parameters.

The method implements a **delegation pattern** for address display formatting: it extracts address code substrings, calls `createAddress()` to build human-readable address strings, and copies them to bean fields. For list data beans (e.g., phone number lists, simultaneous address change recipient lists, active equipment lists, options continuation lists), it iterates each row to convert codes and propagate checkbox states from boolean flags to code-value pairs (e.g., "1" for checked, "0" for unchecked).

Its **role in the larger system** is as the primary data transformer called during screen initialization (`actionInit`), form clearing (`actionClear`), and form fixation (`actionFix`). It prepares all display-ready data for the address change + service modification screen, ensuring that every code field has a corresponding human-readable name field set. It also handles special scenarios such as phone service addition detection (eohtlFlg), restoration from temporary enrollment patterns, port number assignment logic for multi-phone scenarios, and emergency notification address propagation to phone sub-records.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["dataConvertCodeToDisp(bean, chgAddPtn)"])
    
    START --> ENTER["Enter try block"]
    ENTER --> INIT_FLG["Initialize eohntFlg, eohtlFlg, eohtvFlg = false"]
    INIT_FLG --> CHECK_EOH_NET["Check CTRL_EOH_NET_BF_SVKEI_NO bean value"]
    CHECK_EOH_NET --> EOH_NET_NONEMPTY{"Is EO Net
service number
non-empty?"}
    EOH_NET_NONEMPTY -->|true| SET_EOH_NET["Set eohntFlg = true"]
    EOH_NET_NONEMPTY -->|false| CHECK_EOH_TEL["Check CTRL_EOH_TEL_BF_SVKEI_NO bean value"]
    SET_EOH_NET --> CHECK_EOH_TEL
    CHECK_EOH_TEL --> EOHTL_NONEMPTY{"Is EO Tel
service number
non-empty?"}
    EOHTL_NONEMPTY -->|true| SET_EOHTL["Set eohtlFlg = true"]
    EOHTL_NONEMPTY -->|false| CHECK_USE_SVC["Check EOH_TEL_USE_SVC_CHG_DIV == USE_SVC_CHG_DIV_ADD"]
    SET_EOHTL --> CHECK_EOH_TV["Check CTRL_EOH_TV_BF_SVKEI_NO bean value"]
    CHECK_USE_SVC --> SVC_ADD_TRUE{"Service change
is ADD?"}
    SVC_ADD_TRUE -->|true| SET_EOHTL_ALT["Set eohtlFlg = true"]
    SVC_ADD_TRUE -->|false| CHECK_EOH_TV2["Check CTRL_EOH_TV_BF_SVKEI_NO"]
    SET_EOHTL_ALT --> CHECK_EOH_TV2
    CHECK_EOH_TV --> EOHTV_NONEMPTY{"Is EO TV
service number
non-empty?"}
    EOHTV_NONEMPTY -->|true| SET_EOHTV["Set eohtvFlg = true"]
    EOHTV_NONEMPTY -->|false| SKIP_EOHTV["eohtvFlg stays false"]
    SET_EOHTV --> COMMON_ADR["Process common subscriber address fields"]
    SKIP_EOHTV --> COMMON_ADR
    SKIP_EOHTL --> COMMON_ADR
    
    COMMON_ADR --> CMN_KSH_ADR["Build common subscriber address from postcode + address parts via createAddress()"]
    CMN_KSH_ADR --> CMN_USE_ADR["Build common usage location address via createAddress()"]
    CMN_USE_ADR --> CMN_AD_SWCH["Set common address change switch index and name"]
    CMN_AD_SWCH --> CMN_KJ_RE_REQ["Clear common rework request choice fields (sub: never selected)"]
    CMN_KJ_RE_REQ --> CMN_TV_KJ_RE["Clear common TV rework request choice fields"]
    CMN_TV_KJ_RE --> MSKM_DIV["Set application form fields: submission div, responsible party div, submission date YMD"]
    MSKM_DIV --> MSKM_FEES["Set application fees: hand service fee, standard construction cost (defaults to 'none')"]
    MSKM_FEES --> ITENS_AD_FIX["Convert transfer destination address fix checkbox (true=未確定, false=確定)"]
    ITENS_AD_FIX --> KIKI_SHS_AD["Set device delivery location fields: transfer origin choice, manual input checkbox"]
    KIKI_SHS_AD --> NEWESTA_AD["Set new installation address fields: fix status, housing type, installation timing, development area applicability"]
    NEWESTA_AD --> ITENS_SAME_AD_CHG["Process simultaneous address change: contractee choice checkbox + request letter recipient list + guide letter recipient list"]
    ITENS_SAME_AD_CHG --> TEKRYO_AD["Set removal address fields: work scope, contact time, app contact, active equipment list"]
    TEKRYO_AD --> TEKRYO_KJ["Set removal work fields: penalty occurrence, new building case, restoration case, resend case"]
    TEKRYO_KJ --> EOH_NET["Process EO Hikari Net: service change, contract service, price plan, discount, additional info, router, penalty, fees"]
    EOH_NET --> EOH_NET_CHK["If eohntFlg: process EO Net option continuation list"]
    EOH_NET_CHK --> EOH_NET_APLY["Process EO Net early payment discount: set dropdown index and name from actual value"]
    EOH_NET_APLY --> EOH_NET_KOSOKU["Process EO Net speed discount (ANK-3412-08-00)"]
    EOH_NET_KOSOKU --> EOH_TEL["Process EO Hikari Phone: service change, contract service, price plan, pre-notification, service start timing, penalty, fees"]
    EOH_TEL --> EOH_TEL_FLG["If eohtlFlg: process phone number list with sub-fields (deregistration, bumper address, same-store transfer, port number, emergency address, tickets)"]
    EOH_TEL_FLG --> EOH_TEL_PORT["If creBeanCnt > 0: assign port numbers for phone1(phone1) and phone2(addition) based on port availability"]
    EOH_TEL_PORT --> EOH_TEL_CTRL["Set EO Phone control fields: pre-change and post-change service contract numbers"]
    EOH_TEL_CTRL --> EOH_TEL_FEES["Set EO Phone fee fields: hand service, standard construction costs"]
    EOH_TEL_FEES --> EOH_TV["Process EO Hikari TV: service change, contract service, price plan, STB delivery method, penalty, fees"]
    EOH_TV --> EOH_TV_COND["If SVC change is KEIZOKU (continuation): set STB delivery to HKTG (handover)"]
    EOH_TV_COND --> EOH_TV_FLG["If eohtvFlg: process TV STB/course list (largely commented out in current version)"]
    EOH_TV_FLG --> RESTORE_CHK["Check restoration pattern: RVS_PAT_ADCHM or (RVS_PAT_ADCHG + MODIFY_RANGE_SERVICE + SVC_TSUIKA)"]
    RESTORE_CHK --> RESTORE_PROC["If restoration pattern: re-process phone number emergency address for restoration case"]
    RESTORE_PROC --> CATCH["Catch Exception block"]
    CATCH --> RET_FALSE["Return false"]
    RESTORE_CHK --> RET_TRUE["Return true"]
    RET_TRUE --> END(["END"])
    RET_FALSE --> END
    
    EOH_NET --> EOH_NET_CHK2["If eohntFlg: process EO Net option continuation list"]
    EOH_NET_CHK2 --> EOH_NET_APLY2["Process EO Net early payment discount dropdown index"]
    EOH_NET_APLY2 --> EOH_NET_KOSOKU2["Process EO Net speed discount"]
    EOH_NET_KOSOKU2 --> EOH_TEL2["Process EO Hikari Phone"]
    EOH_TEL2 --> EOH_TEL_FLG2["If eohtlFlg: process phone number list"]
    EOH_TEL_FLG2 --> EOH_TEL_PORT2["If creBeanCnt > 0: assign port numbers"]
    EOH_TEL_PORT2 --> EOH_TEL_CTRL2["Set EO Phone control fields"]
    EOH_TEL_CTRL2 --> EOH_TEL_FEES2["Set EO Phone fee fields"]
    EOH_TEL_FEES2 --> EOH_TV2["Process EO Hikari TV"]
    EOH_TV2 --> EOH_TV_COND2["If KEIZOKU: set STB delivery to HKTG"]
    EOH_TV_COND2 --> EOH_TV_FLG2["If eohtvFlg: process TV list"]
    EOH_TV_FLG2 --> RESTORE_CHK2["Check restoration pattern"]
    RESTORE_CHK2 --> RESTORE_PROC2["Restore emergency address data"]
    RESTORE_PROC2 --> CATCH2["Catch Exception"]
    CATCH2 --> RET_FALSE2["Return false"]
    RESTORE_CHK2 --> RET_TRUE2["Return true"]
    RET_TRUE2 --> END2(["END"])
    RET_FALSE2 --> END2
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `bean` | `X31SDataBeanAccess[]` | Array of screen item data beans. `bean[0]` is the primary bean holding all screen fields including subscriber address, usage location address, service change flags, checkbox states, and nested list data beans for phone numbers, equipment, and optional services. This bean is both read from (to get input values) and written to (to set display-ready converted values). |
| 2 | `chgAddPtn` | `String` | Change/addition pattern parameter. While received as a parameter, the method primarily determines the service modification type through the `eohtlFlg` flag and the `EPOCH_TEL_USE_SVC_CHG_DIV` bean field value rather than directly branching on this parameter. It indicates whether the address change involves adding new services, modifying existing ones, or a combination. |

**Instance fields / external state read by this method:**
- `super.getServiceFormBean()` — called when restoration pattern processing creates new STB/course beans (commented code path); retrieves the service form bean from parent class for dropdown list copying via `copyPdnList()`.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `KKW04202SFLogic.getPdnSelectedCd` | KKW04202SFLogic | - | Gets selected dropdown code from a data bean for display-name resolution |
| R | `KKW04202SFLogic.getPdnSelectedNm` | KKW04202SFLogic | - | Gets selected dropdown display name from a data bean for the item name field |
| R | `KKW04202SFLogic.getCheckBoxBoolean` | KKW04202SFLogic | - | Reads checkbox state as boolean from a data bean field |
| C | `KKW04202SFLogic.createAddress` | KKW04202SFLogic | - | Creates formatted address string from postcode + address components |
| R | `KKW04202SFLogic.isNull` | KKW04202SFLogic | - | Checks if a string value is null/empty |
| - | `KKW04202SFLogic.setPdnSelectedIndex` | KKW04202SFLogic | - | Sets dropdown selection index from a string value |
| - | `OneStopDataBeanAccessArray.addDataBean` | OneStopDataBeanAccessArray | - | Adds a new row to a nested data bean array (e.g., phone number list, STB list) |
| R | `OneStopDataBeanAccessArray.getDataBean` | OneStopDataBeanAccessArray | - | Retrieves the nth element from a nested data bean array |
| R | `OneStopDataBeanAccessArray.getCount` | OneStopDataBeanAccessArray | - | Returns the number of elements in a nested data bean array |
| R | `OneStopDataBeanAccess.getDataBeanArray` | OneStopDataBeanAccess | - | Retrieves a nested data bean array field from a data bean |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Sets a string field value in a data bean (used for all bean writes) |
| - | `OneStopDataBeanAccess.sendMessageBoolean` | OneStopDataBeanAccess | - | Sets a boolean field value in a data bean |
| - | `SCW00101SFLogic.copyPdnList` | KKW04202SFLogic | - | Copies dropdown selection from one data bean to another (for restoration pattern STB beans) |
| R | `SCW00101SFLogic.getCount` | SCW00101SFLogic | - | Gets the count of data beans (utility for array iteration) |
| R | `FUW09905SFLogic.getDataBean` | FUW09905SFLogic | - | Retrieves data bean from FUW09905 logic class |
| R | `FUSV0277_FUSV0277OPDBMapper.getDataBean` | FUSV0277_FUSV0277OPDBMapper | - | Retrieves data bean from Open DB mapper |
| R | `FUW00162SFLogic.getDataBean` | FUW00162SFLogic | - | Retrieves data bean from FUW00162 logic class |
| R | `JKKCommonConst.SVC_KEI_IDO_SBT_KEIZOKU` | JKKCommonConst | - | Constant: Service type move category = "continuation" (継続) |
| R | `JKKCommonConst.SVC_KEI_IDO_SBT_TSUIKA` | JKKCommonConst | - | Constant: Service type move category = "addition" (追加) |
| R | `JKKCommonConst.SVC_KEI_IDO_SBT_DSL` | JKKCommonConst | - | Constant: Service type move category = "deregistration" (解約) |
| R | `JKKCommonConst.SVC_KEI_IDO_SBT_PDING` | JKKCommonConst | - | Constant: Service type move category = "suspension" (保留) |
| R | `JKKCommonConst.STB_SHKA_WAY_CD_HKTG` | JKKCommonConst | - | Constant: STB delivery method = "handover" (引継) |
| R | `JKKCommonConst.UM_U` | JKKCommonConst | - | Constant: "Yes" selection value |
| R | `JKKStrConst.CD00593_VA_PORT_1` | JKKStrConst | - | Constant: Port number value "1" |
| R | `JKKStrConst.CD00593_VA_PORT_2` | JKKStrConst | - | Constant: Port number value "2" |
| R | `KKW04202SFConst.RVS_PAT_ADCHM` | KKW04202SFConst | - | Constant: Restoration pattern = "after temporary enrollment registration" (1 / 入力中) |
| R | `KKW04202SFConst.RVS_PAT_ADCHG` | KKW04202SFConst | - | Constant: Restoration pattern = "address change registration" (2 / 住所変更登録) |
| R | `KKW04202SFConst.MODIFY_RANGE_SERVICE` | KKW04202SFConst | - | Constant: Modification range = "service" (サービス) |
| R | `KKW04202SFConst.USE_SVC_CHG_DIV_ADD` | KKW04202SFConst | - | Constant: Service change division = "addition" (追加) |
| R | `KKW04202SFConst.CD_VALUE_02` | KKW04202SFConst | - | Constant: Code value reference key (02) |
| R | `KKW04202SFConst.CHECK_STA_02` | KKW04202SFConst | - | Constant: Checkbox state reference key (02) |
| R | `X31CWebConst.DATABEAN_GET_VALUE` | X31CWebConst | - | Constant: Data bean operation = "get value" |
| R | `X31CWebConst.DATABEAN_SET_VALUE` | X31CWebConst | - | Constant: Data bean operation = "set value" |

**CRUD Summary:** This method is a **pure Read/Transform** operation (R-category). It does not directly perform any database Create, Update, or Delete operations. All bean mutations are in-memory transformations. No SC/CBS service calls hit the database. The terminal operations are all `sendMessageString` calls to set converted display values back into the bean for rendering to the UI.

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 4 methods.
Terminal operations from this method: `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-], `sendMessageString` [-]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Logic:KKW04202SFLogic.actionClear() | `actionClear()` -> `dataConvertCodeToDisp()` | All `sendMessageString` (in-memory bean set, no DB CRUD) |
| 2 | Logic:KKW04202SFLogic.actionFix() | `actionFix()` -> `dataConvertCodeToDisp()` | All `sendMessageString` (in-memory bean set, no DB CRUD) |
| 3 | Logic:KKW04202SFLogic.actionInit() | `actionInit()` -> `dataConvertCodeToDisp()` | All `sendMessageString` (in-memory bean set, no DB CRUD) |
| 4 | Logic:KKW04202SFLogic.dataConvertCodeToDisp() | Self-recursive (nested call path) | All `sendMessageString` (in-memory bean set, no DB CRUD) |

**Notes:** This method is a self-contained data transformation utility within the `KKW04202SF` screen logic. It has no external screen/batch entry points and is only invoked from three internal lifecycle methods: `actionClear` (clear form), `actionFix` (fix/submit form), and `actionInit` (initialize screen). All terminal operations are in-memory bean field writes (`sendMessageString`), confirming this method has no database persistence impact.

## 6. Per-Branch Detail Blocks

**Block 1** — TRY-CATCH `(exception handler for entire method body)` (L16510)

> Wraps all processing in a try-catch. On any exception, returns `false`; otherwise falls through to return `true`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpString = ""` |
| 2 | SET | `eohntFlg = false` // EO Net service flag |
| 3 | SET | `eohtlFlg = false` // EO Tel (Phone) service flag |
| 4 | SET | `eohtvFlg = false` // EO TV service flag |

---

**Block 2** — IF (EO Hikari Net detection) `(eohntFlg)` (L16513)

> Detects whether EO Hikari Net service has a pre-change service contract number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpString = bean[0].sendMessageString(CTRL_EOH_NET_BF_SVKEI_NO, GET_VALUE)` |
| 2 | IF | `!StringUtils.isEmpty(tmpString)` → eohntFlg = true |

---

**Block 3** — IF (EO Hikari Phone detection) `(eohtlFlg)` (L16518)

> Detects whether EO Hikari Phone service has a pre-change service contract number. Falls through to check service change division if empty.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpString = bean[0].sendMessageString(CTRL_EOH_TEL_BF_SVKEI_NO, GET_VALUE)` |
| 2 | IF | `!StringUtils.isEmpty(tmpString)` → eohtlFlg = true |
| 3 | ELSE-IF | `USE_SVC_CHG_DIV_ADD.equals(div)` → eohtlFlg = true [ANK-1668-00-00] |

---

**Block 4** — IF (EO Hikari TV detection) `(eohtvFlg)` (L16526)

> Detects whether EO Hikari TV service has a pre-change service contract number.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpString = bean[0].sendMessageString(CTRL_EOH_TV_BF_SVKEI_NO, GET_VALUE)` |
| 2 | IF | `!StringUtils.isEmpty(tmpString)` → eohtvFlg = true |

---

**Block 5** — PROCESSING (Common subscriber address) (L16530)

> Builds the common subscriber address (共通契約者住所) from postcode (split into 3+4 digit parts), then city, town, block, building name/number via `createAddress()`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `cmn_ksh_ad_pcd_1 = substring(postcode, 0, 3)` |
| 2 | SET | `cmn_ksh_ad_pcd_2 = substring(postcode, 3, 7)` |
| 3 | CALL | `createAddress(pcd1, pcd2, state, city, oaztsu, azcho, bnchigo, adrttm, adrm)` |
| 4 | EXEC | `bean[0].sendMessageString(CMN_KSH_AD, SET_VALUE, cmn_ksh_ad)` |

---

**Block 6** — PROCESSING (Common usage location address) (L16542)

> Builds the common usage location address (共通利用場所住所) similarly.

| # | Type | Code |
|---|------|------|
| 1 | SET | `cmn_usr_ad_pcd_1 = substring(postcode, 0, 3)` |
| 2 | SET | `cmn_usr_ad_pcd_2 = substring(postcode, 3, 7)` |
| 3 | CALL | `createAddress(pcd1, pcd2, state, city, oaztsu, azcho, bnchigo, adrttm, adrm)` |
| 4 | EXEC | `bean[0].sendMessageString(CMN_USE_PLC_AD, SET_VALUE, cmn_use_plc_ad)` |

---

**Block 7** — PROCESSING (Address change switch + rework request fields) (L16554)

> Sets address change switch index (not display name for sub screens), clears rework request choice fields (sub screens: never selected), clears TV rework request choice.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `setPdnSelectedIndex(bean[0], CMN_AD_SWCH_PDN, GET_VALUE(CMN_AD_SWCH_DIV))` |
| 2 | EXEC | `sendMessageString(CMN_AD_SWCH_DIV_NM, SET_VALUE, getPdnSelectedNm(...))` |
| 3 | EXEC | `sendMessageString(CMN_KJ_RE_REQ_CHOICE_DIV, SET_VALUE, new String())` |
| 4 | EXEC | `sendMessageString(CMN_TV_KJ_RE_REQ_CHOICE_DIV, SET_VALUE, new String())` |

---

**Block 8** — PROCESSING (Application form fields) (L16564)

> Sets application submission fields: submission division (code+name), responsible party division (code+name), submission date (concatenates Y/M/D).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(MSKM_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(MSKM_DIV_NM, SET_VALUE, getPdnSelectedNm(...))` |
| 3 | EXEC | `sendMessageString(MSKM_UK_TNTSHA_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 4 | EXEC | `sendMessageString(MSKM_YMD, SET_VALUE, concat(YEAR, MON, DAY))` |
| 5 | EXEC | `sendMessageString(MSKM_JIM_COMMISION_UM, SET_VALUE, "無")` |
| 6 | EXEC | `sendMessageString(MSKM_STDARD_KOJIHI_UM, SET_VALUE, "無")` |

---

**Block 9** — IF (Transfer destination address fix checkbox) (L16584)

> Converts the transfer destination address fix checkbox state. Note: `true` sets "未確定" (undetermined) and `false` sets "確定" (determined) — inverted logic.

| # | Type | Code |
|---|------|------|
| 1 | IF | `getCheckBoxBoolean(ITENS_AD_FIX_DIV)` |
| 2 | SET | `ITENS_AD_FIX_DIV_CD = "1"` / `NM = "未確定"` |
| 3 | ELSE | `ITENS_AD_FIX_DIV_CD = "0"` / `NM = "確定"` |

---

**Block 10** — IF (Device delivery manual input checkbox) (L16594)

> Sets device delivery location manual input flag.

| # | Type | Code |
|---|------|------|
| 1 | IF | `getCheckBoxBoolean(KIKI_SHS_AD_MAN_INPUT_DIV)` |
| 2 | SET | `CD = "1"` / `NM = "手入力である"` |
| 3 | ELSE | `CD = "0"` / `NM = "手入力でない"` |

---

**Block 11** — IF (New installation address fix checkbox) (L16604)

> Inverted: `true` → "未確定", `false` → "確定".

| # | Type | Code |
|---|------|------|
| 1 | IF | `getCheckBoxBoolean(ITENS_AD_FIX_DIV)` |
| 2 | SET | `NEWESTA_AD_FIX_DIV = "0"` / `NM = "未確定"` |
| 3 | ELSE | `NEWESTA_AD_FIX_DIV = "1"` / `NM = "確定"` |

---

**Block 12** — PROCESSING (New installation address fields) (L16615)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(NEWESTA_AD_FORM_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(NEWESTA_AD_SETPLACE_SHUNKO_RSV_YM_MON, SET_VALUE, getPdnSelectedCd(...))` |
| 3 | EXEC | `sendMessageString(NEWESTA_AD_MNKHT_CMP_APLY_DIV, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 13** — IF (Simultaneous address change contractee choice) (L16622)

> Sets whether the transfer destination uses the same contractee.

| # | Type | Code |
|---|------|------|
| 1 | IF | `getCheckBoxBoolean(ITENS_SAME_AD_CHG_KSH_CHOICE_DIV)` |
| 2 | SET | `CD = "1"` (same contractee) |
| 3 | ELSE | `CD = "0"` (different contractee) |

---

**Block 14** — FOR LOOP (Simultaneous address change request letter recipient list) (L16628)

> Iterates over the invoice delivery recipient list and converts checkbox to code for each row.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itens_same_ad_chg_sks_shs_list = bean[0].getDataBeanArray(ITENS_SAME_AD_CHG_SKS_SHS_LIST)` |
| 2 | FOR | `i = 0` to `getCount()` |
| 3 | SET | `itens_same_ad_chg_sks_shs_dat = list.getDataBean(i)` |
| 4 | IF | `getCheckBoxBoolean(SHS_AD_SKS_CHOICE_DIV_04)` → `SHS_AD_CHOICE_DIV_CD_04 = "1"` |
| 5 | ELSE | `SHS_AD_CHOICE_DIV_CD_04 = "0"` |

---

**Block 15** — FOR LOOP (Simultaneous address change guide letter recipient list) (L16649)

> Same pattern as Block 14 for guide letter recipients.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itens_same_ad_chg_guide_shs_list = bean[0].getDataBeanArray(ITENS_SAME_AD_CHG_GUIDE_SHS_LIST)` |
| 2 | FOR | `i = 0` to `getCount()` |
| 3 | IF | `getCheckBoxBoolean(SHS_AD_GUIDE_CHOICE_DIV_04)` → `SHS_AD_CHOICE_DIV_CD_04 = "1"` |
| 4 | ELSE | `SHS_AD_CHOICE_DIV_CD_04 = "0"` |

---

**Block 16** — PROCESSING (Removal address fields) (L16670)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(TEKKYO_AD_KJ_SCOPE_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(TEKKYO_AD_KJ_TEL_RRK_KIBO_TIME_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 3 | EXEC | `sendMessageString(TEKKYO_AD_KJ_APO_RRKS_DIV, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 17** — FOR LOOP (Removal: active equipment list) (L16680)

> Iterates over currently-used equipment list and sets removal division for each.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tekkyo_ad_use_kiki_list = bean[0].getDataBeanArray(TEKKYO_AD_USE_KIKI_LIST)` |
| 2 | FOR | `i = 0` to `getCount()` |
| 3 | SET | `tekkyo_ad_use_kiki_dat = list.getDataBean(i)` |
| 4 | EXEC | `sendMessageString(USE_KIKI_TEKKYO_DIV_05, SET_VALUE, getPdnSelectedNm(...))` |

---

**Block 18** — PROCESSING (Removal work penalty and status checkboxes) (L16690)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(TEKKYO_KJ_PNLTY_HASSEI_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(TEKKYO_KJ_PNLTY_CHG_RSN_CD, SET_VALUE, getPdnSelectedCd(...))` |
| 3 | IF | `getCheckBoxBoolean(TEKKYO_KJ_STB_NON)` → `TEKKYO_KJ_STB_NON_CD = "1"` / `"0"` |
| 4 | IF | `getCheckBoxBoolean(TEKKYO_KJ_NEWCONST_BKN_DIV)` → `CD = "1" / "0"`, `NM = "新築物件である" / "新築物件でない"` |
| 5 | IF | `getCheckBoxBoolean(TEKKYO_KJ_HUKKAT_ANKEN_DIV)` → `CD = "1" / "0"`, `NM = "復活案件である" / "復活案件でない"` |
| 6 | IF | `getCheckBoxBoolean(TEKKYO_KJ_RE_SEND_ANKEN)` → `CD = "1" / "0"`, `NM = "再送信案件である" / "再送信案件でない"` |

---

**Block 19** — PROCESSING (EO Hikari Net fields) (L16707)

> Sets all EO Net display fields: service change, contract service, price plan, discount, additional info, router, penalty, rework reason, fees.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(EOH_NET_USE_SVC_CHG_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(EOH_NET_KEI_SVC, SET_VALUE, getPdnSelectedCd(...))` |
| 3 | EXEC | `sendMessageString(EOH_NET_PPLAN, SET_VALUE, getPdnSelectedCd(...))` |
| 4 | EXEC | `sendMessageString(EOH_NET_HUKA_INFO, SET_VALUE, getPdnSelectedCd(...))` |
| 5 | EXEC | `sendMessageString(EOH_NET_STC_ROUTER, SET_VALUE, getPdnSelectedCd(...))` |
| 6 | EXEC | `sendMessageString(EOH_NET_PNLTY_HASSEI_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 7 | EXEC | `sendMessageString(EOH_NET_PNLTY_CHGRE_CD, SET_VALUE, getPdnSelectedCd(...))` |
| 8 | EXEC | `sendMessageString(EOH_NET_JIMU_COMMISION_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 9 | EXEC | `sendMessageString(EOH_NET_HYOUJYUN_KOJIHI_DIV, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 20** — IF (EO Net early payment discount) (L16725)

> Sets the dropdown index from the actual value and retrieves the display name.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!StringUtils.isEmpty(bean[0].sendMessageString(EOH_NET_APLY_UM, GET_VALUE))` |
| 2 | EXEC | `setPdnSelectedIndex(bean[0], EOH_NET_APLY_PDN, actualValue)` |
| 3 | EXEC | `sendMessageString(EOH_NET_APLY_UM_NM, SET_VALUE, getPdnSelectedNm(...))` |
| 4 | ELSE | `sendMessageString(EOH_NET_APLY_UM_NM, SET_VALUE, "")` |

---

**Block 21** — IF (EO Net speed discount) (L16733)

> Sets the speed discount dropdown index and name.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!StringUtils.isEmpty(bean[0].sendMessageString(EOH_NET_KOSOKUWRI_UM, GET_VALUE))` |
| 2 | EXEC | `setPdnSelectedIndex(bean[0], EOH_NET_KOSOKUWRI_PDN, actualValue)` |
| 3 | EXEC | `sendMessageString(EOH_NET_KOSOKUWRI_UM_NM, SET_VALUE, getPdnSelectedNm(...))` |
| 4 | ELSE | `sendMessageString(EOH_NET_KOSOKUWRI_UM_NM, SET_VALUE, "")` |

---

**Block 22** — IF (EO Net option continuation list — when eohntFlg) (L16743)

> If EO Net service exists, process the option continuation list rows.

| # | Type | Code |
|---|------|------|
| 1 | SET | `eoh_net_op_hktgi_list = bean[0].getDataBeanArray(EOH_NET_OP_HKTGI_LIST)` |
| 2 | FOR | `i = 0` to `getCount()` |
| 3 | EXEC | `sendMessageString(OP_HKTGI_TRN_DIV_06, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 23** — PROCESSING (EO Hikari Phone fields) (L16765)

> Sets all EO Phone display fields: service change, contract service, price plan, pre-notification, service start timing, penalty, rework reason, fees.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(EOH_TEL_USE_SVC_CHG_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(EOH_TEL_KEI_SVC, SET_VALUE, getPdnSelectedCd(...))` |
| 3 | EXEC | `sendMessageString(EOH_TEL_PPLAN, SET_VALUE, getPdnSelectedCd(...))` |
| 4 | EXEC | `sendMessageString(EOH_TEL_PRE_TCH_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 5 | EXEC | `sendMessageString(EOH_TEL_SVC_USE_STA_KIBO_SWCH_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 6 | EXEC | `sendMessageString(EOH_TEL_SVC_USE_STA_KIBO_AMPM_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 7 | EXEC | `sendMessageString(EOH_TEL_SVC_USE_STA_KIBO_TIME_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 8 | EXEC | `sendMessageString(EOH_TEL_PNLTY_HASSEI_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 9 | EXEC | `sendMessageString(EOH_TEL_PNLTY_CHGRE_CD, SET_VALUE, getPdnSelectedCd(...))` |
| 10 | EXEC | `sendMessageString(EOH_TEL_JIMU_COMMISION_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 11 | EXEC | `sendMessageString(EOH_TEL_HYOUJYUN_KOJIHI_DIV, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 24** — FOR LOOP (EO Phone number list — when eohtlFlg) (L16799)

> When EO Phone service exists, iterates over the phone number list bean array. For each phone record, processes: deregistration checkbox, bumper address manual input, same-store transfer manual input, port number, pre/post-transfer ticket fields, and emergency notification address propagation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `eoh_tel_tln_list = bean[0].getDataBeanArray(EOH_TEL_TLN_LIST)` |
| 2 | FOR | `i = 0` to `getCount()` |
| 3 | SET | `eoh_tel_tln_dat = list.getDataBean(i)` |
| 4 | SET | `tln_dsl_div_ary = getDataBeanArray(TLN_DSL_DIV_07)` |
| 5 | IF | `count == 1` → use existing, ELSE → `addDataBean()` |
| 6 | IF | `getCheckBoxBoolean(TLN_DSL_DIV_07)` → `DSL_DIV_CD_07="1"`, `NM="解約"`, `CD_VALUE_02="1"`, `CHECK_STA_02=true` |
| 7 | ELSE | `DSL_DIV_CD_07="0"`, `NM=""`, `CD_VALUE_02="0"`, `CHECK_STA_02=false` |
| 8 | EXEC | `sendMessageString(TLN_BMP_UM_07, SET_VALUE, getPdnSelectedCd(...))` |
| 9 | SET | `tln_bmp_ad_man_input_div = addDataBean()` (or existing) |
| 10 | IF | `getCheckBoxBoolean(TLN_BMP_AD_MAN_INPUT_DIV_07)` → `CD="1"`, `NM="手入力である"` |
| 11 | ELSE | `CD="0"`, `NM="手入力でない"` |
| 12 | SET | `tln_dobaniten_ad_man_input_div = addDataBean()` |
| 13 | IF | `getCheckBoxBoolean(TLN_DOBANITEN_AD_MAN_INPUT_DIV_07)` → `CD="1"`, `NM="手入力である"` |
| 14 | ELSE | `CD="0"`, `NM="手入力でない"` |
| 15 | EXEC | `sendMessageString(TLN_PORT_NO_07, SET_VALUE, getPdnSelectedNm(...))` |
| 16 | IF | `JKKCommonConst.UM_U.equals(bfTokiUm)` → set pre-transfer ticket registration/division fields |
| 17 | ELSE | set pre-transfer ticket fields to empty string |
| 18 | IF | `JKKCommonConst.UM_U.equals(afTokiUm)` → set post-transfer ticket fields |
| 19 | ELSE | set post-transfer ticket fields to empty string |
| 20 | SET | `adEdit` = state+city+oaztsu+azcho (emergency address concatenation) |
| 21 | EXEC | `sendMessageString("電話番号\緊急通告先住所", SET_VALUE, adEdit.toString())` |
| 22 | EXEC | `sendMessageString("電話番号\緊急通告先住所\住所コード", SET_VALUE, ITENS_AD_CD)` |
| 23 | EXEC | `sendMessageString("電話番号\緊急通告先住所\郵便番号", SET_VALUE, ITENS_AD_PCD)` |
| 24 | EXEC | `sendMessageString("電話番号\緊急通告先住所\住所", SET_VALUE, state+city+oaztsu+azcho)` |
| 25 | EXEC | `sendMessageString("電話番号\緊急通告先住所\住所コード", SET_VALUE, ITENS_AD_CD)` |
| 26 | EXEC | `ttmn + rmno` → building name; room number set to "" |
| 27 | SET | Empty string initialization for: bumper work fix date/time, completion date, phone number, NRN, PAC divs, same-store transfer data, emergency user info |
| 28 | SET | `tln_pac_3_div = addDataBean()`; `sendMessageBoolean(TLN_BF_PAC_3_DIV_07, SET_VALUE, false)` |
| 29 | SET | `tln_pac_7_div = addDataBean()`; `sendMessageBoolean(TLN_BF_PAC_7_DIV_07, SET_VALUE, false)` |
| 30 | SET | `tln_ansn_tel_pac_div = addDataBean()`; `sendMessageBoolean(TLN_BF_ANSN_TEL_PAC_DIV_07, SET_VALUE, false)` |

---

**Block 25** — FOR LOOP (Port number assignment — when creBeanCnt > 0) (L17448)

> When additional phone beans were created, assigns port numbers. For single-port source (1→2), phone1 gets port 1, phone2 gets port 1 or 2 based on phone1's port. For no existing phone contract, phone1=1, phone2=2.

| # | Type | Code |
|---|------|------|
| 1 | IF | `creBeanCnt > 0` |
| 2 | FOR | `index = 0` to `eoh_tel_tln_list.getCount()` |
| 3 | SET | `telBen = eoh_tel_tln_list.getDataBean(index)` |
| 4 | IF | `telInfLstCnt == 1` (1→2 phone scenario) |
| 5 | IF | `index == 0` (phone1): `portNoTel1 = getPdnSelectedCd(...)` |
| 6 | IF | `isNull(portNoTel1)` → `selPortNo = PORT_1` |
| 7 | ELSE (phone2): if `portNoTel1 == PORT_2` → `selPortNo = PORT_1`; else `selPortNo = PORT_2` |
| 8 | ELSE (no existing phone contract): `selPortNo = String.valueOf(index + 1)` |
| 9 | IF | `!isNull(selPortNo)` → `setPdnSelectedIndex(telBen, TLN_PORT_NO_PDN_07, selPortNo)` |

---

**Block 26** — PROCESSING (EO Phone control numbers) (L16800)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(CTRL_EOH_TEL_BF_SVKEI_NO, SET_VALUE, bean[0].sendMessageString(EOH_TEL_SVKEI_NO_BF, GET_VALUE))` |
| 2 | EXEC | `sendMessageString(CTRL_EOH_TEL_AF_SVKEI_NO, SET_VALUE, bean[0].sendMessageString(EOH_TEL_SVKEI_NO_AF, GET_VALUE))` |

---

**Block 27** — PROCESSING (EO Hikari TV fields) (L16810)

> Sets all EO TV display fields: service change, contract service, price plan, STB delivery method, penalty, fees.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `sendMessageString(EOH_TV_USE_SVC_CHG_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 2 | EXEC | `sendMessageString(EOH_TV_KEI_SVC, SET_VALUE, getPdnSelectedCd(...))` |
| 3 | EXEC | `sendMessageString(EOH_TV_PPLAN, SET_VALUE, getPdnSelectedCd(...))` |
| 4 | EXEC | `sendMessageString(EOH_TV_TG_STB, SET_VALUE, getPdnSelectedCd(...))` |
| 5 | EXEC | `sendMessageString(EOH_TV_PNLTY_HASSEI_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 6 | EXEC | `setPdnSelectedIndex(EOH_TV_PNLTY_HASSEI_DIV_PDN, GET_VALUE(EOH_TV_PNLTY_HASSEI_DIV))` |
| 7 | EXEC | `sendMessageString(EOH_TV_PNLTY_CHGRE_CD, SET_VALUE, getPdnSelectedCd(...))` |
| 8 | EXEC | `sendMessageString(EOH_TV_JIMU_COMMISION_DIV, SET_VALUE, getPdnSelectedCd(...))` |
| 9 | EXEC | `sendMessageString(EOH_TV_HYOUJYUN_KOJIHI_DIV, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 28** — IF (EO TV STB delivery method override — when KEIZOKU) (L16792)

> If the service change division is "continuation", force STB delivery method to "handover".

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKCommonConst.SVC_KEI_IDO_SBT_KEIZOKU.equals(eoh_tv_use_svc_chg_div)` |
| 2 | EXEC | `setPdnSelectedIndex(bean[0], EOH_TV_STB_SHKA_WAY_PDN, STB_SHKA_WAY_CD_HKTG)` |
| 3 | EXEC | `sendMessageString(EOH_TV_STB_SHKA_WAY_DIV, SET_VALUE, getPdnSelectedCd(...))` |

---

**Block 29** — IF (EO TV STB/course list processing — when eohtvFlg) (L16830)

> Largely commented out in current version. Would iterate STB/course list when EO TV service exists.

| # | Type | Code |
|---|------|------|
| 1 | IF | `eohtvFlg` |
| 2 | SET | `eoh_tv_stb_tv_course_list = bean[0].getDataBeanArray(EOH_TV_STB_TV_COURSE_LIST)` |
| 3 | FOR | `i = 0` to `getCount()` |
| 4 | (Commented out) | Various STB fields: movement division, TV course, STB division, HDD capacity |

---

**Block 30** — IF (Restoration pattern processing — after temporary enrollment) (L17858)

> When restoration pattern is "after temporary enrollment" OR "address change + service fix + phone addition", re-process emergency notification addresses for phone records.

| # | Type | Code |
|---|------|------|
| 1 | SET | `adchmStatCd = bean[0].sendMessageString(CTRL_ADCHM_STAT_CD, GET_VALUE)` |
| 2 | SET | `adchgAftMod = bean[0].sendMessageString(ADCHG_AFT_MOD, GET_VALUE)` |
| 3 | IF | `RVS_PAT_ADCHM.equals(adchmStatCd) || (RVS_PAT_ADCHG.equals(adchmStatCd) && MODIFY_RANGE_SERVICE.equals(adchgAftMod) && SVC_KEI_IDO_SBT_TSUIKA.equals(eoh_tel_use_svc_chg_div))` |
| 4 | IF | `JKKCommonConst.SVC_KEI_IDO_SBT_TSUIKA.equals(eoh_tel_use_svc_chg_div)` |
| 5 | SET | `eoh_tel_tln_list = bean[0].getDataBeanArray(EOH_TEL_TLN_LIST)` |
| 6 | FOR | `i = 0` to `getCount()` |
| 7 | SET | `adEdit` = state+city+oaztsu+azcho |
| 8 | EXEC | `sendMessageString("電話番号\緊急通告先住所", SET_VALUE, adEdit.toString())` |
| 9 | EXEC | `sendMessageString("電話番号\緊急通告先住所\郵便番号", SET_VALUE, ITENS_AD_PCD)` |
| 10 | EXEC | `ttmn + rmno` → building name; room number = "" |

---

**Block 31** — CATCH (Exception handler) (L17900)

| # | Type | Code |
|---|------|------|
| 1 | CATCH | `Exception ex` |
| 2 | RETURN | `false` |

---

**Block 32** — RETURN (Success path) (L17902)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `true` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `eohtlFlg` | Field | EO Phone flag — indicates whether an EO Hikari Phone service exists for this customer |
| `eohntFlg` | Field | EO Net flag — indicates whether an EO Hikari Net (fiber broadband) service exists |
| `eohtvFlg` | Field | EO TV flag — indicates whether an EO Hikari TV (digital television) service exists |
| `chgAddPtn` | Field | Change/addition pattern — parameter indicating whether this is a change or addition operation |
| `CTRL_EOH_NET_BF_SVKEI_NO` | Field | EO Net pre-change service contract number — identifies existing EO Net contract before modification |
| `CTRL_EOH_TEL_BF_SVKEI_NO` | Field | EO Tel pre-change service contract number — identifies existing EO Phone contract before modification |
| `CTRL_EOH_TV_BF_SVKEI_NO` | Field | EO TV pre-change service contract number — identifies existing EO TV contract before modification |
| `CMN_KSH_AD` | Field | Common subscriber address — formatted address string for the contract holder |
| `CMN_USE_PLC_AD` | Field | Common usage location address — formatted address for where services are used |
| `ITENS_AD_FIX_DIV` | Field | Transfer destination address fix checkbox — whether the new address is confirmed |
| `ITENS_SAME_AD_CHG_KSH_CHOICE_DIV` | Field | Simultaneous address change contractee choice — whether transfer destination uses same contractee |
| `NEWESTA_AD_FIX_DIV` | Field | New installation address fix status |
| `NEWESTA_AD_FORM_DIV` | Field | New installation address housing type — e.g., house, apartment |
| `NEWESTA_AD_SETPLACE_SHUNKO_RSV_YM_MON` | Field | New installation address installation timing reservation year/month |
| `TEKKYO_AD_KJ_SCOPE_DIV` | Field | Removal address work scope — scope of work for equipment removal |
| `TEKKYO_KJ_PNLTY_HASSEI_DIV` | Field | Removal work penalty occurrence — whether contract termination penalty applies |
| `TEKKYO_KJ_NEWCONST_BKN_DIV` | Field | Removal work new building case — whether the removal is from a newly built property |
| `TEKKYO_KJ_HUKKAT_ANKEN_DIV` | Field | Restoration case flag — whether this is a restoration application |
| `TEKKYO_KJ_RE_SEND_ANKEN` | Field | Resend case flag — whether this case requires resending |
| `USE_KIKI_TEKKYO_DIV_05` | Field | Currently-used equipment removal division — which equipment is being removed |
| `EOH_NET_USE_SVC_CHG_DIV` | Field | EO Net service change division — whether to continue, change, or add the service |
| `EOH_NET_KEI_SVC` | Field | EO Net contract service — type of EO Net service being contracted |
| `EOH_NET_PPLAN` | Field | EO Net price plan — the billing plan selected for EO Net |
| `EOH_NET_APLY_UM` | Field | EO Net early payment discount — discount for early payment |
| `EOH_NET_KOSOKUWRI_UM` | Field | EO Net speed discount — discount based on connection speed |
| `EOH_NET_HUKA_INFO` | Field | EO Net additional information — optional extra info fields |
| `EOH_NET_STC_ROUTER` | Field | EO Net installation router — router to be installed |
| `EOH_NET_PNLTY_HASSEI_DIV` | Field | EO Net penalty occurrence — whether termination penalty applies |
| `EOH_NET_JIMU_COMMISION_DIV` | Field | EO Net hand service fee division — whether hand service fee is charged |
| `EOH_NET_HYOUJYUN_KOJIHI_DIV` | Field | EO Net standard construction cost division |
| `EOH_TEL_USE_SVC_CHG_DIV` | Field | EO Tel service change division — whether to continue, change, or add phone service |
| `EOH_TEL_KEI_SVC` | Field | EO Tel contract service type |
| `EOH_TEL_PPLAN` | Field | EO Tel price plan |
| `EOH_TEL_PRE_TCH_DIV` | Field | EO Tel pre-notification division — whether pre-change notification is needed |
| `EOH_TEL_SVC_USE_STA_KIBO_SWCH_DIV` | Field | EO Tel service start preference switch — when to start the service |
| `EOH_TEL_SVC_USE_STA_KIBO_AMPM_DIV` | Field | EO Tel service start preference AM/PM |
| `EOH_TEL_SVC_USE_STA_KIBO_TIME_DIV` | Field | EO Tel service start preferred time slot |
| `EOH_TEL_TLN_LIST` | Field | EO Tel phone number list — nested array of phone number records |
| `TLN_DSL_DIV_07` | Field | Phone deregistration division — whether to cancel the phone number |
| `TLN_BMP_UM_07` | Field | Phone bumper (address) presence — whether a bumper address exists |
| `TLN_BMP_AD_MAN_INPUT_DIV_07` | Field | Phone bumper address manual input flag |
| `TLN_DOBANITEN_AD_MAN_INPUT_DIV_07` | Field | Phone same-store transfer manual input flag |
| `TLN_PORT_NO_07` | Field | Phone port number — the MNP port number |
| `TLN_ITENS_OPEN_BF_TOKI_UM_07` | Field | Phone transfer pre-opening ticket desired flag |
| `TLN_ITENS_OPEN_AF_TOKI_UM_07` | Field | Phone transfer post-opening ticket desired flag |
| `EOH_TV_USE_SVC_CHG_DIV` | Field | EO TV service change division — whether to continue, change, or add TV service |
| `EOH_TV_KEI_SVC` | Field | EO TV contract service type |
| `EOH_TV_PPLAN` | Field | EO TV price plan |
| `EOH_TV_STB_SHKA_WAY_DIV` | Field | EO TV STB delivery method — how the set-top box is delivered |
| `EOH_TV_PNLTY_HASSEI_DIV` | Field | EO TV penalty occurrence |
| `EOH_TV_JIMU_COMMISION_DIV` | Field | EO TV hand service fee division |
| `EOH_TV_HYOUJYUN_KOJIHI_DIV` | Field | EO TV standard construction cost division |
| `RVS_PAT_ADCHM` | Constant | Restoration pattern: after temporary enrollment registration (入力中) |
| `RVS_PAT_ADCHG` | Constant | Restoration pattern: address change registration (住所変更登録) |
| `MODIFY_RANGE_SERVICE` | Constant | Modification range: service (サービス) |
| `USE_SVC_CHG_DIV_ADD` | Constant | Service change division: addition (追加) |
| `SVC_KEI_IDO_SBT_KEIZOKU` | Constant | Service type move: continuation (継続) — existing service carried over |
| `SVC_KEI_IDO_SBT_TSUIKA` | Constant | Service type move: addition (追加) — new service added |
| `SVC_KEI_IDO_SBT_DSL` | Constant | Service type move: deregistration (解約) |
| `SVC_KEI_IDO_SBT_PDING` | Constant | Service type move: suspension (保留) |
| `STB_SHKA_WAY_CD_HKTG` | Constant | STB delivery method: handover (引継) |
| `UM_U` | Constant | "Yes" selection value |
| `CD_VALUE_02` | Constant | Code value reference key (02) |
| `CHECK_STA_02` | Constant | Checkbox state reference key (02) |
| `CD00593_VA_PORT_1` | Constant | Port number value "1" |
| `CD00593_VA_PORT_2` | Constant | Port number value "2" |
| `TSUIKA_STB` | Constant | "Addition" STB reason division |
| EO | Business term | Hikari — NTT's brand name (エヌティティドコモの光), referring to NTT's fiber optic broadband service family |
| EO Net | Business term | EO Hikari Net — NTT's fiber broadband internet service |
| EO Tel | Business term | EO Hikari Phone — NTT's telephone service bundled with fiber |
| EO TV | Business term | EO Hikari TV — NTT's digital television service |
| STB | Acronym | Set-Top Box — equipment for digital television reception |
| PAC | Acronym | Package — service package selection for phone/telecom services |
| NTT | Business term | Nippon Telegraph and Telephone — Japan's primary telecom operator |
| MNP | Acronym | Mobile Number Portability — in telecom context, phone number portability/transfer |
| 住所変更 | Business term | Address change — the core business operation being processed (customer moving to new address with service modifications) |
| 同時契約 | Business term | Simultaneous contract — services contracted at the same time as the address change |
| 解約 | Business term | Deregistration/Cancellation — terminating a service contract |
| 継続 | Business term | Continuation — keeping an existing service |
| 追加 | Business term | Addition — adding a new service |
| 引継 | Business term | Handover — transferring existing equipment/setup to new location |
| 違約金 | Business term | Contract termination penalty — fee charged for early contract termination |
| 緊急通告先住所 | Business term | Emergency notification address — the address to contact in emergencies (copied from subscriber address) |
