# Business Logic - KKW04202SFLogic.inputCheck() [1921 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW04202SF.KKW04202SFLogic` |
| Layer | Service / Logic (WebLogic layer - `eo.web.webview` package) |
| Module | `KKW04202SF` (Package: `eo.web.webview.KKW04202SF`) |

## 1. Role

### KKW04202SFLogic.inputCheck()

This method performs comprehensive pre-flight input validation for a residence change registration (住所変更登録) screen within the K-Opticom telecommunications billing system. It validates that all required fields are properly populated and that the service configuration is consistent with the requested changes before allowing the registration to proceed.

The method handles three service types: eo光ネット (eo fiber internet), eo光電話 (eo landline telephone), and eo光テレビ (eo TV). Each service is independently checked using flag variables (`eohntFlg`, `eohtlFlg`, `eohtvFlg`) that are determined by whether service items exist on the form and what the user selected for the moving address. It implements a sequential validation pipeline - checking each service type's required fields in order, then delegating to a centralized resident change check service (KKSV0698) that performs cross-field consistency validation.

Its role in the larger system is that of a shared gatekeeper: both `actionAdd()` and `actionPreAdd()` on the same logic class call this method, meaning it protects both the initial registration action and the preliminary (pre-add) registration flow. The method branches its behavior based on the moving division code (`ido_div`): "00019" (residence change registration), "00020" (residence change confirmation), and the registration pattern (`adchmStatCd`): `INPUT_FIX` (second-week registration), `INPUT_CHU` (in-progress). Each branch triggers a different subset of validation checks, reflecting the different business rules that apply at each stage of the residence change process.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["inputCheck adchmStatCd"])
    INIT["Extract form beans and service flags"]
    DSL_CHECK["Retract date validation"]
    EOH_FLAGS["Determine eo service flags net tel tv"]
    TV_CHECK_1["eohtvFlg true - TV mandatory fields"]
    TEL_CHECK_1["eohtlFlg true - Tel mandatory fields"]
    NET_CHECK_1["eohntFlg true - Net continuation check"]
    VDSL_CHECK["VDSL mandatory field check"]
    TEL_CHECK_2["eohtlFlg true - Tel continuation check"]
    TEL_CHECK_3["eohtlFlg true - Tel cancellation check"]
    TEL_CHECK_5["eohtlFlg true - Tel redirect check"]
    TV_CHECK_2["eohtvFlg true - STB TV course validation"]
    TV_CHECK_3["eohtvFlg true - TV continuation check"]
    TV_CHECK_4["eohtvFlg true - STB count agreement check"]
    IDO_DIV_CHECK["Check ido_div branch"]
    FINAL_CHECKS["Final validation and KKSV0698 service"]
    RETURN_RET["Return retBoolean"]

    START --> INIT
    INIT --> DSL_CHECK
    DSL_CHECK --> EOH_FLAGS
    EOH_FLAGS --> TV_CHECK_1
    TV_CHECK_1 --> TEL_CHECK_1
    TEL_CHECK_1 --> NET_CHECK_1
    NET_CHECK_1 --> VDSL_CHECK
    VDSL_CHECK --> TEL_CHECK_2
    TEL_CHECK_2 --> TEL_CHECK_3
    TEL_CHECK_3 --> TEL_CHECK_5
    TEL_CHECK_5 --> TV_CHECK_2
    TV_CHECK_2 --> TV_CHECK_3
    TV_CHECK_3 --> TV_CHECK_4
    TV_CHECK_4 --> IDO_DIV_CHECK
    IDO_DIV_CHECK --> FINAL_CHECKS
    FINAL_CHECKS --> RETURN_RET

    EOH_FLAGS -.->|eohtvFlg false| TEL_CHECK_1
    EOH_FLAGS -.->|eohtlFlg false| NET_CHECK_1
    EOH_FLAGS -.->|eohntFlg false| VDSL_CHECK
    TEL_CHECK_1 -.->|eohtlFlg false| NET_CHECK_1
    NET_CHECK_1 -.->|eohntFlg false| VDSL_CHECK
    TEL_CHECK_2 -.->|eohtlFlg false| TEL_CHECK_3
    TEL_CHECK_3 -.->|eohtlFlg false| TEL_CHECK_5
    TEL_CHECK_5 -.->|eohtlFlg false| TV_CHECK_2
    TV_CHECK_2 -.->|eohtvFlg false| TV_CHECK_3
    TV_CHECK_3 -.->|eohtvFlg false| TV_CHECK_4
    TV_CHECK_4 -.->|eohtvFlg false| IDO_DIV_CHECK
```

### Flow Description

**Phase 1 - Initialization:** The method extracts the form bean from the service context and initializes local variables. It reads retract date components (year, month, day) from the form. It determines whether the retract scope selection dropdown is valid (must not equal "0").

**Phase 2 - Retracted Date Validation:** If the registration pattern is `INPUT_FIX` (second-week registration) and there was a prior retract date, it checks whether the requested retract date has been changed and whether the prior date was before the current operational date. If so, it returns an error. The retract date must not be empty.

**Phase 3 - eo Service Flag Determination:** The method determines which eo services (net, tel, tv) are active by checking if their respective service item numbers exist on the form. It also reads the moving address service change type for each service to override flags based on whether services are being added, cancelled, or pending.

**Phase 4 - Service-Specific Validation:** Each service flag triggers a block of validation checks. TV validation checks mandatory fields for eo TV re-send service (type "13"), STB course items including HDD capacity, STB movement type validation, model number consistency, and STB contract count agreement. Tel validation checks telephone number, emergency contact info, continuation service codes, cancellation logic, and K-OPT/banpo requirements. Net validation checks continuation service codes and 10G package multi-section service restrictions.

**Phase 5 - VDSL Mandatory Check:** If the owner does not possess equipment (`owner_Cd != "1"`) and the network delivery method is VDSL (codes CD00590_003 through CD00590_007), the VDSL method field is mandatory.

**Phase 6 - KKSV0698 Delegate Check:** For residence change registration (ido_div = "00019") in input confirmation or post-registration service correction mode, the method creates and invokes the KKSV0698 resident change check service with up to 22 sub-checks covering address validation, similar-number redirection, phone schema, engineering ticket, STB changes, and mansion total count.

**Phase 7 - Post-Registration Service Correction Validation:** If the registration was a service correction after initial registration, specialized validation runs for tel and tv services including engineering item deletion, phone number state, MA consistency, and banpo duplicate checks.

**Phase 8 - Final Branch Checks:** Based on `ido_div` and `adchmStatCd`: "00019" with `INPUT_CHU` runs redirection info entry checks. "00019" with `INPUT_FIX` runs engineering number change check. "00020" (residence change confirmation) runs confirmation engineering status check.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `adchmStatCd` | `String` | Registration status code that determines which validation branch to follow. Values: `INPUT_FIX` (second-week registration), `INPUT_CHU` (in-progress), `RVS_PAT_ADCHG` (correction mode). Controls full vs simplified post-correction validation. |

### Instance Fields / External State Read

| No | Source | Field / Method | Business Description |
|----|--------|---------------|---------------------|
| 1 | `X31SDataBeanAccess` | Form bean data via `sendMessageString` | All form field values extracted by constant-key lookups (retract date, service flags, STB courses, phone numbers) |
| 2 | `KKW04202SFConst` | Constant keys (e.g., `CTRL_EOH_NET_BF_SVKEI_NO`, `EOH_TV_KEI_SVC_PDN`) | Form bean field identifiers for reading screen values |
| 3 | `JCCWebCommon` | `getOpeDate(this, null)` | Current operational date used for retract date comparison |
| 4 | `KKW04202SFLogic` | `getPdnSelectedCd()`, `getCheckBoxBoolean()` | Helper methods for extracting dropdown/checkbox values from form beans |
| 5 | `KKW04202SFLogic` | `isKakuteiOrHon2shume(idoDiv, adchmStatCdParam)` | Determines if this is a confirmed registration or second-week registration |
| 6 | `KKW04202SFLogic` | `isChangeToAdd(param, svcCd)` | Determines if the service change is an addition (vs modification/cancellation) |
| 7 | `KKW04202SFLogic` | `isBanpo(bean)` | Checks if the phone number is a banner number (fixed IP) |
| 8 | `KKW04202SFLogic` | `isSameKeiNaiTelnoDbleCheck(svcFormBean)` | Validates no duplicate phone numbers within the same contract |
| 9 | `KKW04202SFLogic` | `getPcrsSpeedCd(net_pcrs_af)` | Resolves the PCS rate plan to a speed code |
| 10 | `KKW04202SFLogic` | `clearDataTypeBean(svcFormBean)` | Clears data type bean before KKSV0698 invocation |
| 11 | `KKW04202SFLogic` | `invokeService(paramMap, inputMap, outputMap)` | Base method for invoking the KKSV0698 service |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCBPCommon.getOpeDate` | - | Operational date reference | Gets current operational date for retract date comparison |
| R | `JCCModelCommon.getOpeDate` | - | Operational date reference | Gets current operational date via model layer |
| R | `JEDK0011C080TPMA.getCount` | JEDK0011C080TPMA | Count data bean | Gets count of data beans in array |
| R | `OneStopDataBeanAccess.getDataBeanArray` | - | Data bean array | Retrieves form bean array by key |
| R | `OneStopDataBeanAccess.getDataBean` | - | Single data bean | Gets single data bean by index |
| R | `OneStopDataBeanAccessArray.getCount` | - | Count data bean array | Gets array size for iteration |
| - | `OneStopDataBeanAccess.sendMessageString` | - | Form field value | Reads/writes form bean string fields |
| - | `OneStopDataBeanAccessArray.getDataBean` | - | Data bean by index | Gets data bean from array at index |
| R | `KKSV0698_KKSV0698OPDBMapper` | KKSV0698OP | KKSV0698 resident change check service | Invokes comprehensive resident change validation with 22 sub-checks |
| R | `setKKSV069801SC` | EKK0341B504 | Service contract line items | Service contract summary check (service contract lines) |
| R | `setKKSV069802SC` | EKU0011B050 | Engineering ticket master | Engineering ticket number existence check (net/phone) |
| R | `setKKSV069803SC` | EKK2601B001 | Major item deletion records | Major item deletion records check (net/phone) |
| R | `setKKSV069804SC` | EKU0011B050 | Engineering ticket master | Engineering ticket number existence check (TV) |
| R | `setKKSV069805SC` | EKK2601B001 | Major item deletion records | Major item deletion records check (TV) |
| R | `setKKSV069806SC` | EKK0191B008 | Redirection info (1st line) | Similar number redirection info check (1st line) |
| R | `setKKSV069807SC` | EKK0191B008 | Redirection info (2nd line) | Similar number redirection info check (2nd line) |
| R | `setKKSV069808SC` | EZM0121B010 | Phone number master (1st line) | Phone number schema check (1st line) |
| R | `setKKSV069809SC` | EZM0121B010 | Phone number master (2nd line) | Phone number schema check (2nd line) |
| R | `setKKSV069810SC` | EZM0111A010 | Phone aging (1st line) | Phone aging check (1st line) |
| R | `setKKSV069811SC` | EZM0111A010 | Phone aging (2nd line) | Phone aging check (2nd line) |
| R | `setKKSV069802CC` | JKKNetMobileCheckCC | - | Net/mobile contract count check |
| R | `setKKSV069812SC` | EKK0271A010 | Development project consent | Development project number check |
| R | `setKKSV069813SC` | ETU0021B018 | Redirection check (1st line) | Redirection check SC (1st line) |
| R | `setKKSV069814SC` | ETU0021B018 | Redirection check (2nd line) | Redirection check SC (2nd line) |
| R | `setKKSV069815SC` | - | Mansion total count | Mansion total count check |
| R | `setKKSV069803CC` | - | Fault code check | Fault code existence check |
| R | `setKKSV069805CC` | - | Smart balance discount | Smart balance discount status check |
| R | `setKKSV069806CC` | - | Device status check | Device status check |
| R | `setKKSV069807CC` | - | Engineering request status | Engineering request status check |
| R | `setKKSV069808CC` | - | MA consistency (1st line) | MA consistency check (1st line) |
| R | `setKKSV069809CC` | - | MA consistency (2nd line) | MA consistency check (2nd line) |
| R | `setKKSV069810CC` | - | Processing number change (1st line) | Processing number change check (1st line) |
| R | `setKKSV069811CC` | - | Processing number change (2nd line) | Processing number change check (2nd line) |
| R | `setKKSV069816SC` | EKK1681B001CBSMsg1List | STB movement reservation | STB movement reservation list check |
| R | `setKKSV069817CC` | - | Phone cancellation check | Phone cancellation check |
| R | `setKKSV069819CC` | - | eo phone registration (1st line) | eo phone registration check (1st line) |
| R | `setKKSV069820CC` | - | eo phone registration (2nd line) | eo phone registration check (2nd line) |
| R | `setKKSV069821CC` | - | Phone change check (1st line) | Phone number change check (1st line) |
| R | `setKKSV069822CC` | - | Phone change check (2nd line) | Phone number change check (2nd line) |
| R | `setKKSV069834CC` | - | Phone state judgment (1st line) | Phone number state judgment common part (1st line) |
| R | `setKKSV069835CC` | - | Phone state judgment (2nd line) | Phone number state judgment common part (2nd line) |
| - | `JCCBatCommon.invokeService` | JCCBatCommon | - | Calls `invokeService` in JCCBatCommon |
| - | `JKKBatClarisAuthCrdt.isNullBlank` | JKKBatClarisAuthCrdt | - | Calls `isNullBlank` in JKKBatClarisAuthCrdt |
| - | `JBSbatACEoElectPrcInfoTrkm.isNullBlank` | JBSbatACEoElectPrcInfoTrkm | - | Calls `isNullBlank` in JBSbatACEoElectPrcInfoTrkm |
| - | `JBSbatACTrgtSvcKeiMake.isNullBlank` | JBSbatACTrgtSvcKeiMake | - | Calls `isNullBlank` in JBSbatACTrgtSvcKeiMake |
| - | `JBSbatCHKssaidkCvsNkinInfoAdd.isNullBlank` | JBSbatCHKssaidkCvsNkinInfoAdd | - | Calls `isNullBlank` in JBSbatCHKssaidkCvsNkinInfoAdd |
| - | `JBSbatCHMakeEoElecKyseKiykList.isNullBlank` | JBSbatCHMakeEoElecKyseKiykList | - | Calls `isNullBlank` in JBSbatCHMakeEoElecKyseKiykList |
| - | `JBSbatCKEoIDIktTaikai.invokeService` | JBSbatCKEoIDIktTaikai | - | Calls `invokeService` in JBSbatCKEoIDIktTaikai |
| - | `JBSBatKKCrsChgIktAdd.invokeService` | JBSBatKKCrsChgIktAdd | - | Calls `invokeService` in JBSBatKKCrsChgIktAdd |
| - | `JBSbatKKCrsChgSmtVLAdd.invokeService` | JBSbatKKCrsChgSmtVLAdd | - | Calls `invokeService` in JBSbatKKCrsChgSmtVLAdd |
| - | `JBSbatKKEponSwchKjInfSksi.invokeService` | JBSbatKKEponSwchKjInfSksi | - | Calls `invokeService` in JBSbatKKEponSwchKjInfSksi |
| - | `JKKAddSupportCC.setMessageInfo` | JKKAddSupportCC | - | Calls `setMessageInfo` in JKKAddSupportCC |
| - | `JKKCreateNhkDntIktCC.setMessageInfo` | JKKCreateNhkDntIktCC | - | Calls `setMessageInfo` in JKKCreateNhkDntIktCC |
| - | `JKKFumeiKktkSvcKeiUpdCC.setMessageInfo` | JKKFumeiKktkSvcKeiUpdCC | - | Calls `setMessageInfo` in JKKFumeiKktkSvcKeiUpdCC |
| - | `JKKGetKikiUpdCodeNameCC.setMessageInfo` | JKKGetKikiUpdCodeNameCC | - | Calls `setMessageInfo` in JKKGetKikiUpdCodeNameCC |
| - | `JKKGetKojiAkTaknkikiCC.setMessageInfo` | JKKGetKojiAkTaknkikiCC | - | Calls `setMessageInfo` in JKKGetKojiAkTaknkikiCC |
| R | `JFUEoTvCngAddStbCC.getOpeDate` | JFUEoTvCngAddStbCC | - | Calls `getOpeDate` in JFUEoTvCngAddStbCC |
| R | `JFUHikkosiNaviRelAddCC.getOpeDate` | JFUHikkosiNaviRelAddCC | - | Calls `getOpeDate` in JFUHikkosiNaviRelAddCC |
| R | `JKKCreditAddCC.getOpeDate` | JKKCreditAddCC | - | Calls `getOpeDate` in JKKCreditAddCC |
| - | `KKW04202SFLogic.bampoTelnoDuplicateCheck_1ban` | KKW04202SFLogic | - | Calls `bampoTelnoDuplicateCheck_1ban` in KKW04202SFLogic |
| - | `KKW04202SFLogic.bampoTelnoDuplicateCheck_2ban` | KKW04202SFLogic | - | Calls `bampoTelnoDuplicateCheck_2ban` in KKW04202SFLogic |
| - | `KKW04202SFLogic.checkBmpKojiStat` | KKW04202SFLogic | - | Calls `checkBmpKojiStat` in KKW04202SFLogic |
| - | `KKW04202SFLogic.checkHashinshaNoDspDsl` | KKW04202SFLogic | - | Calls `checkHashinshaNoDspDsl` in KKW04202SFLogic |

## 5. Dependency Trace

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

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Caller: `KKW04202SFLogic.actionAdd()` | `KKW04202SFLogic.actionAdd()` -> `KKW04202SFLogic.inputCheck` | `denbanchk2`, `denbanchk1`, `setMessageInfo`, `sendMessageString`, `isSameKeiNaiTelnoDbleCheck`, `getPdnSelectedCd`, `kakteiKojiakStatChk`, `mnkhtNoChangedCheck`, `kksv0698 SC checks`, `bampoTelnoDuplicateCheck_1ban`, `bampoTelnoDuplicateCheck_2ban`, `checkHashinshaNoDspDsl` |
| 2 | Caller: `KKW04202SFLogic.actionPreAdd()` | `KKW04202SFLogic.actionPreAdd()` -> `KKW04202SFLogic.inputCheck` | `denbanchk2`, `denbanchk1`, `setMessageInfo`, `sendMessageString`, `isSameKeiNaiTelnoDbleCheck`, `getPdnSelectedCd`, `kakteiKojiakStatChk`, `mnkhtNoChangedCheck`, `kksv0698 SC checks`, `bampoTelnoDuplicateCheck_1ban`, `bampoTelnoDuplicateCheck_2ban`, `checkHashinshaNoDspDsl` |

**Terminal Operations from this Method:** `denbanchk2` [-], `denbanchk1` [-], `setMessageInfo` [-], `setMessageInfo` [-], `setMessageInfo` [-], `setMessageInfo` [-], `setMessageInfo` [-], `sendMessageString` [-], `sendMessageString` [-], `setMessageInfo` [-], `setMessageInfo` [-], `setMessageInfo` [-], `setMessageInfo` [-], `setMessageInfo` [-], `isSameKeiNaiTelnoDbleCheck` [-], `getPdnSelectedCd` [R], `getPdnSelectedCd` [R], `kakteiKojiakStatChk` [-], `mnkhtNoChangedCheck` [-], `denbanchk2` [-]

## 6. Per-Branch Detail Blocks

**Block 1** — IF `(tekkyoAdKjScopePdn.equals("0"))` (L2252)

Retract scope validation: if the retract scope dropdown equals "0", it is invalid.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0010-TW", new String[]{"Retract scope work range"})` |
| 2 | SET | `retBoolean = false` |

**Block 2** — IF `(INPUT_FIX.equals(ctrlRvsPat))` (L2257) [INPUT_FIX = "second-week registration pattern"]

If this is the second-week registration pattern and there is a prior retract date, validate retract date changes.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!StringUtils.isEmpty(dslDayBf)` (prior retract date is non-empty) |
| 2 | IF | `!dslDayBf.equals(dslDayAf)` (retract date has been changed) |
| 3 | IF | `dslDayBf.compareTo(JCCWebCommon.getOpeDate(this, null)) <= 0` (prior date is before current operational date) [-> "already arrived, cannot change"] |
| 4 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB1040-JW", new String[]{"Desired date","Already arrived","Desired date change"}, "tekkyo_ad_kj_dsl_ymd_year")` |
| 5 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB1040-JW", new String[]{"Desired date","Already arrived","Desired date change"}, "tekkyo_ad_kj_dsl_ymd_mon")` |
| 6 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB1040-JW", new String[]{"Desired date","Already arrived","Desired date change"}, "tekkyo_ad_kj_dsl_ymd_day")` |
| 7 | SET | `retBoolean = false` |

**Block 3** — IF `(StringUtils.isEmpty(dslDayAf))` (L2293)

The post-change retract date (year+month+day combined) must not be empty.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0010-TW", new String[]{"Retract date"})` |
| 2 | SET | `retBoolean = false` |

**Block 4** — eo Service Flag Determination (L2307-L2366)

Determines which eo services are active and overrides based on moving address service change type.

| # | Type | Code |
|---|------|------|
| 1 | SET | `eohntFlg = !StringUtils.isEmpty(tmpString)` from `CTRL_EOH_NET_BF_SVKEI_NO` |
| 2 | SET | `eohtlFlg = !StringUtils.isEmpty(tmpString)` from `CTRL_EOH_TEL_BF_SVKEI_NO` |
| 3 | SET | `eohtvFlg = !StringUtils.isEmpty(tmpString)` from `CTRL_EOH_TV_BF_SVKEI_NO` |
| 4 | IF | `JKKCommonConst.SVC_KEI_IDO_SBT_TSUIKA.equals(index)` (service addition) -> set flag to true |
| 5 | ELSE IF | `JKKCommonConst.SVC_KEI_IDO_SBT_DSL.equals(index)` (service cancellation) -> set flag to false |
| 6 | ELSE IF | `JKKCommonConst.SVC_KEI_IDO_SBT_PDING.equals(index)` (service pending) OR `SVC_KEI_IDO_SBT_DSL` -> set flag to false |

**Block 5** — IF `(eohtvFlg)` (L2381) [TV Validation - Mandatory Fields]

If eo TV service is active, validate TV-specific required fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpString = getPdnSelectedCd(svcFormBean, EOH_TV_KEI_SVC_PDN)` |
| 2 | IF | `!StringUtils.isEmpty(tmpString) && tmpString.equals("13")` (re-send service type 13) |
| 3 | IF | `StringUtils.isEmpty(tmpString)` from `NEWESTA_AD_DMPS_CD` (fault code) |
| 4 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0010_TW, new String[]{"Fault code"}, "newesta_ad_dmps_cd")` |
| 5 | SET | `retBoolean = false` |
| 6 | IF | `StringUtils.isEmpty(tmpString)` from `RE_SEND_TK_SVC_SBT_CD` (re-send service type) |
| 7 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0010_TW, new String[]{"Re-send service type"}, "re_send_tk_svc_sbt_cd_1/2/3")` |
| 8 | SET | `retBoolean = false` |

**Block 6** — IF `(eohtlFlg)` (L2417) [Tel Validation - Block-1: Phone and Emergency Info]

If eo tel service is active, validate telephone entries.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpFormBeanList = svcFormBean.getDataBeanArray(KKW04202SFConst.EOH_TEL_TLN_LIST)` |
| 2 | SET | `tmpCount = tmpFormBeanList.getCount()` |
| 3 | FOR | `i = 0` to `tmpCount` |
| 4 | IF | `!CMN_IDO_DIV_VALUE_00019.equals(idoDiv)` -> continue (skip if not residence change registration) |
| 5 | IF | `getCheckBoxBoolean(tmpFormBean, TLN_DSL_DIV_07)` (line is cancelled) -> continue |
| 6 | IF | `JKKCommonConst.SVC_KEI_IDO_SBT_PDING.equals(telUseSvcChg)` or `SVC_KEI_IDO_SBT_DSL` -> continue |
| 7 | IF | `StringUtils.isEmpty(tmpString)` from `TLN_TLN_07` (phone number) |
| 8 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0010_TW, new String[]{"Phone number (#"+(i+1)+")"}, "tln_tln")` |
| 9 | IF | `StringUtils.isEmpty(tmpString)` from `TLN_EMG_USER_KANA_07` (emergency name kana) |
| 10 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0010_TW, new String[]{"Emergency info - User name (Kana) (#"+(i+1)+")"}, "tln_emg_user_kana")` |
| 11 | IF | `StringUtils.isEmpty(tmpString)` from `TLN_EMG_USER_NM_07` (emergency name kanji) |
| 12 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0010_TW, new String[]{"Emergency info - User name (#"+(i+1)+")"}, "tln_emg_user_nm")` |
| 13 | IF | `iten_toki_flg.equals("1")` (redirect notification desired) && `!StringUtils.isEmpty(itnsOpafTlkiTssTln)` (redirect contact phone set) |
| 14 | FOR | Check if redirect contact phone matches any tel entry phone number |
| 15 | IF | `!isTokiOk` -> error |
| 16 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0620-NW", new String[]{"Redirect after opening contact phone (#"+(i+1)+")"}, "Phone used at moving address")` |

**Block 7** — IF `(eohntFlg)` (L2530) [Net Validation - Continuation Service]

If eo net service is active, validate continuation service codes.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpFormBeanList = svcFormBean.getDataBeanArray(KKW04202SFConst.EOH_NET_OP_HKTGI_LIST)` |
| 2 | FOR | `i = 0` to `tmpCount`: check `OP_HKTGI_EOHNT_TRN_PDN` (continuation type) per net service item |
| 3 | IF | `JKKCommonConst.PCRS_SPEED_CD_10G.equals(getPcrsSpeedCd(net_pcrs_af))` (10G package) |
| 4 | FOR | Check each net continuation item |
| 5 | IF | `JKKCommonConst.OP_SVC_CD_VALUE_MLTISE.equals(opSvcCd)` && `!JKKCommonConst.OP_SVC_HKTG_DSL.equals(trnDiv)` (multi-section service not set to cancellation) |
| 6 | SET | `hktgFrr = true` |
| 7 | IF | `hktgFrr` -> error EKB0930-NW |

**Block 8** — IF/ELSE VDSL Check (L2619) [VDSL Mandatory Field]

If net and tel are both not "retain/cancel/no change" and not confirmed/second-week, check VDSL mandatory field.

| # | Type | Code |
|---|------|------|
| 1 | IF | `(USE_SVC_CHG_DIV_HOR OR USE_SVC_CHG_DIV_DSL OR USE_SVC_CHG_DIV_NOT) for net` AND same for tel |
| 2 | ELSE | Continue to VDSL check |
| 3 | IF | `isKakuteiOrHon2` -> skip error (confirmed/second-week) |
| 4 | IF | `!owner_Cd.equals("1")` (owner does not have equipment) |
| 5 | IF | `tk_hoshiki_Cd` is CD00590_003 through CD00590_007 (VDSL method) |
| 6 | IF | `StringUtils.isEmpty(vdslHskSbtCd)` (VDSL method not set) |
| 7 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB6780-NW", new String[]{"[New Info] VDSL method"})` |
| 8 | RETURN | `false` |

**Block 9** — IF `(eohtlFlg)` (L2720) [Tel Validation - Block-2: Continuation Service]

If eo tel service is active, validate continuation service codes for tel.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpFormBeanList = svcFormBean.getDataBeanArray(KKW04202SFConst.EOH_TEL_OP_HKTGI_LIST)` |
| 2 | FOR | `i = 0` to `tmpCount`: nested FOR `j = 0` to `tmpCountTl` |
| 3 | SET | `tmpString = getPdnSelectedCd(tmpFormBean2, OP_HKTGI_EOHTL_TRN_PDN)` |

**Block 10** — IF `(eohtlFlg)` (L2777) [Tel Validation - Block-3: Cancellation and Pricing]

If eo tel service is active, validate cancellation logic and pricing plan consistency.

| # | Type | Code |
|---|------|------|
| 1 | IF | `tmpCount == 2` |
| 2 | IF | `TLN_DSL_DIV_07` for both line 1 AND line 2 (both cancelled) |
| 3 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0950-NW", new String[]{"Cancellation (#1)", "Cancellation (#2)"})` |
| 4 | IF | `tmpString.indexOf("A31") > -1` (pricing plan is 1st port course) |
| 5 | IF | `!TLN_DSL_DIV_07` for both lines (neither cancelled) |
| 6 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0950-NW", new String[]{"Cancellation (#1)", "Cancellation (#2)"})` |
| 7 | IF | `tmpString.indexOf("A32") > -1` (pricing plan is 2nd port course) && `RVS_PAT_ADCHG.equals(adchmStatCdParam)` |
| 8 | IF | `TLN_DSL_DIV_07` for line 1 OR line 2 (one is cancelled) |
| 9 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0780-KW", new String[]{"eo phone service", "2nd port", "phone number cancellation"})` |

**Block 11** — IF `(eohtvFlg)` (L2924) [TV Validation - STB/TV Course]

If eo TV service is active, validate STB and TV course items.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpFormBeanList = svcFormBean.getDataBeanArray(KKW04202SFConst.EOH_TV_STB_TV_COURSE_LIST)` |
| 2 | FOR | `i = 0` to `tmpCount` |
| 3 | IF | `STB_TV_STB_PDN_10.equals("2")` (HDD-attached STB) |
| 4 | IF | `STB_TV_HDD_CAPA_PDN_10` is empty or "1" (HDD capacity not selected) |
| 5 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0010-TW", new String[]{"HDD capacity"})` |
| 6 | IF | `STB_TV_STB_PDN_10` non-empty AND `STB_TV_HDD_CAPA_PDN_10` non-empty |
| 7 | IF | `STB_TV_STB_IDO_PDN_10` is empty (STB movement type not selected) |
| 8 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0010-TW", new String[]{"STB movement type"})` |
| 9 | IF | `STB_TV_STB_IDO_PDN_10.equals("4")` (same address) |
| 10 | IF | pricing unchanged AND movement type unchanged AND HDD capacity unchanged AND TV course unchanged |
| 11 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB2750-KW", new String[]{""})` |
| 12 | IF | `STB_TV_STB_IDO_PDN_10` is "01" or "04" (add/move) |
| 13 | IF | `STB_TV_TV_COURSE_PDN_10` is empty |
| 14 | IF | `isKakuteiOrHon2` -> skip; ELSE error EKB2760-KW |
| 15 | IF | `STB_TV_STB_IDO_PDN_10.equals("1")` (add) AND `STB_TV_STB_PDN_10.equals("1")` (standard) |
| 16 | CHECK | Model number consistency across all standard STBs |
| 17 | IF | `STB_TV_STB_IDO_PDN_10.equals("1")` && STB ID is non-empty -> error |
| 18 | IF | `STB_TV_STB_IDO_PDN_10.equals("2")` && STB PD is empty -> error |
| 19 | IF | `STB_TV_STB_IDO_PDN_10.equals("3")` && STB PD is non-empty -> error |
| 20 | IF | `STB_TV_STB_IDO_PDN_10.equals("4")` && STB PD is non-empty -> error |
| 21 | IF | `tmpBoolean == false` -> error EKB2820-KW |

**Block 12** — IF `(eohtvFlg)` (L3018) [TV Validation - TV Continuation]

If eo TV service is active, validate continuation service codes for TV.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpFormBeanList = svcFormBean.getDataBeanArray(KKW04202SFConst.EOH_TV_OP_HKTGI_LIST)` |
| 2 | FOR | nested: get `TV_OP_HKTGI_LIST_11`, check `OP_HKTGI_EOHTV_TRN_PDN` |

**Block 13** — IF `(eohtvFlg)` (L3053) [TV Validation - STB Count Agreement]

If eo TV service is active, validate STB contract count matches between service selection screen and actual course list.

| # | Type | Code |
|---|------|------|
| 1 | IF | `ido_div.equals("00019")` && (`eoh_tv_use_svc_chg` is change/add) |
| 2 | SET | `kkw4201stbCnt = Integer.parseInt(eoh_tv_stb_kei_cnt)` from form |
| 3 | FOR | Count STBs with movement types add/kokan/move from course list -> `useStbCnt` |
| 4 | IF | `kcn_flg != "A25"` (not a specific plan) |
| 5 | IF | `kkw4201stbCnt != useStbCnt` (counts don't match) |
| 6 | IF | `MANSION_BUKKEN_CD_MEZON.equals(val_mansion_bukken_cd)` (mezons) |
| 7 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0620-NW", new String[]{"Moving address mezons STB contract count", "STB/TV course registration count"})` |
| 8 | ELSE | error with "Moving address STB contract count" |

**Block 14** — IF `(eohtlFlg)` (L3117) [Tel Validation - Block-5: Redirect and Contact Info]

If eo tel service is active, validate redirection and contact info.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tmpFormBeanList = svcFormBean.getDataBeanArray(KKW04202SFConst.EOH_TEL_TLN_LIST)` |
| 2 | FOR | `i = 0` to `tmpCount`: check `TLN_DSL_DIV` |
| 3 | IF | `TLN_DSL_DIV_07.equals("1")` (cancelled) -> continue |
| 4 | IF | `TLN_ITENS_OPEN_BF_TOKI_UM_PDN_07.equals("0")` (redirect notification before opening desired) |
| 5 | IF | `TLN_ITENS_OPEN_BF_TOKI_ADD_PDN_07` is empty |
| 6 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0710-NW", new String[]{"Redirect notification desired", "Redirect info"})` |
| 7 | Same check for `TLN_ITENS_OPEN_AF_TOKI_UM_PDN_07` (after opening) |
| 8 | IF | `!TLN_BMP` (not cancelled) |
| 9 | SET | `isBanpoNoApp` or `isKoptNoApp` based on `TLN_BMP_UM_DIV_07` |
| 10 | IF | `!isKakuteiOrHon2` |
| 11 | IF | `telSvcChgDiv` is add/change/continue |
| 12 | IF | `!isKoptNoApp` && `eo_phone_pre_notice_dropdown` is "1" |
| 13 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0930-NW", new String[]{"K-OPT number not applied", "Pre-notice selected yes"})` |
| 14 | IF | `!isBanpoNoApp` && `eo_phone_banpo_simultaneous_work_desired` is checked |
| 15 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0930-NW", new String[]{"Banpo number not applied", "Banpo work desired selected"})` |
| 16 | IF | `!IDO_DIV_VALUE_00020.equals(idoDiv)` && `isAdchgFixAfterSvcMod` |
| 17 | Same K-OPT and banpo checks as above |

**Block 15** — IF/ELSE ido_div Branch (L3330) [IDo Div = "00019" Check]

The core branch point: if `ido_div` is "00019" (residence change registration), run the KKSV0698 check service.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"00019".equals(ido_div)` AND `(INPUT_FIX.equals(adchmStatCd) && !INPUT_FIX.equals(rvsPtn)) OR (isAdchgFixAfterSvcMod && INPUT_FIX.equals(adchmStatCd))` |
| 2 | SET | `keySeikyKeiNo` from ITENS_SAME_AD_CHG_SKS_SHS_LIST (net billing contract number) |
| 3 | SET | `sokosu_chk_kekka` and `MANSION_BUKKEN_CD_AF` for mansion total count check |
| 4 | SET | `paramMap.put(TELEGRAM_INFO_USECASE_ID, JKKCommonConst.UCID_KKSV0698)` |
| 5 | SET | `paramMap.put(TELEGRAM_INFO_OPERATION_ID, JKKCommonConst.OPID_KKSV0698OP)` |
| 6 | CALL | `invokeService(paramMap, inputMap, outputMap)` (executes KKSV0698) |
| 7 | FOR | `mapper.getKKSV069801SC` through `getKKSV069814SC` (14 SC result getters) |
| 8 | IF | `outputMap.containsKey("KKSV069816SC")` (STB change reserved check) |
| 9 | FOR | `EKK1681B001CBSMsg1List` STB movement reservation list |
| 10 | IF | `stbIdoDiv` is kokan/tekkyo/move && matches `kktk_svc_kei_no` |
| 11 | IF | `ido_rsv_stat_cd` NOT in FIN_RLD/FIN_CL (not finished/rescinded) |
| 12 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB4970-KW", new String[]{"STB is changing model type"})` |
| 13 | SET | `errFlg = true; return false` |

**Block 16** — IF `(isAdchgFixAfterSvcMod)` (L3605) [Post-Registration Service Correction - Tel]

If the registration was a service correction after initial registration, validate tel services.

| # | Type | Code |
|---|------|------|
| 1 | IF | `isChangeToAdd(param, SVC_CD_02)` (tel service addition) |
| 2 | IF | `netSvcChgDiv` is HOR/DSL/NOT (net not carried over) |
| 3 | CALL | `kojiNoNtTlChk(paramBean, retBoolean)` (engineering ticket existence check for net/phone) |
| 4 | CALL | `syuyoDelKojiNtTlChk(paramBean, retBoolean)` (major item deletion check for net/phone) |
| 5 | CALL | `checkZ1(paramBean, retBoolean, outputMap, mapper)` (processing number change check) |
| 6 | CALL | `denwaCheck_ichidenban(paramBean, retBoolean, outputMap)` (banpo legal entity usage + phone check 1st line) |
| 7 | CALL | `denwaCheck_nidenban(paramBean, retBoolean, outputMap)` (banpo legal entity usage + phone check 2nd line) |
| 8 | CALL | `denwaAgingCheck_ichidenban(paramBean, retBoolean, outputMap)` (phone aging check 1st line) |
| 9 | CALL | `denwaAgingCheck_nidenban(paramBean, retBoolean, outputMap)` (phone aging check 2nd line) |
| 10 | CALL | `menkaihatuNochk(paramBean, retBoolean)` (development project number check) |
| 11 | CALL | `denbanchk1(paramBean, retBoolean, svcFormBean)` (redirection info entry check 1st line) |
| 12 | CALL | `denbanchk2(paramBean, retBoolean, svcFormBean)` (redirection info entry check 2nd line) |
| 13 | CALL | `checkMa(paramBean, retBoolean, outputMap, mapper)` (MA consistency check) |
| 14 | CALL | `checkTelNoDsl(paramBean, retBoolean, outputMap, mapper)` (phone cancellation check) |
| 15 | CALL | `checkTokiMskm(svcFormBean, retBoolean)` (redirect contact info check) |
| 16 | IF | `retBoolean` -> CALL `checkHashinshaNoDspDsl(paramBean)` (sender number display cancellation) |
| 17 | IF | `retBoolean` -> CALL `checkTakinoRouter(paramBean)` (multi-function router existence check) |
| 18 | IF | `retBoolean` -> CALL `bampoTelnoDuplicateCheck_1ban(paramBean, retBoolean, outputMap)` (banpo phone duplicate check 1st line) |
| 19 | IF | `retBoolean` -> CALL `bampoTelnoDuplicateCheck_2ban(paramBean, retBoolean, outputMap)` (banpo phone duplicate check 2nd line) |

**Block 17** — IF `(isAdchgFixAfterTvSvcMod)` (L3726) [Post-Registration Service Correction - TV]

If the registration was a TV service correction after initial registration, validate TV services.

| # | Type | Code |
|---|------|------|
| 1 | IF | `isChangeToAdd(param, SVC_CD_TV)` (TV service addition) |
| 2 | CALL | `syuyoKojiDelnoTvChk(paramBean, retBoolean)` (major item deletion check for TV) |
| 3 | CALL | `kojiNoTvChk(paramBean, retBoolean)` (engineering ticket existence check for TV) |
| 4 | CALL | `dempaShogaiSonzaiChk(mapper, paramBean, outputMap, retBoolean)` (radio interference obstacle existence check) |

**Block 18** — ELSE (L3746) [Full Validation Path]

When not in post-registration service correction mode, run the full suite of validation checks.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `kikiSyukkaChk(paramBean, retBoolean)` (installation location check) |
| 2 | CALL | `kojiNoNtTlChk(paramBean, retBoolean)` (engineering ticket existence for net/phone) |
| 3 | CALL | `syuyoDelKojiNtTlChk(paramBean, retBoolean)` (major item deletion for net/phone) |
| 4 | CALL | `syuyoKojiDelnoTvChk(paramBean, retBoolean)` (major item deletion for TV) |
| 5 | CALL | `kojiNoTvChk(paramBean, retBoolean)` (engineering ticket for TV) |
| 6 | CALL | `denwaCheck_ichidenban(paramBean, retBoolean, outputMap)` (banpo + phone check 1st line) |
| 7 | CALL | `denwaCheck_nidenban(paramBean, retBoolean, outputMap)` (banpo + phone check 2nd line) |
| 8 | CALL | `denwaAgingCheck_ichidenban(paramBean, retBoolean, outputMap)` (phone aging 1st line) |
| 9 | CALL | `denwaAgingCheck_nidenban(paramBean, retBoolean, outputMap)` (phone aging 2nd line) |
| 10 | CALL | `netMobileChk(paramBean, retBoolean)` (net/mobile contract count) |
| 11 | CALL | `denbanchk1(paramBean, retBoolean, svcFormBean)` (redirection info entry 1st line) |
| 12 | CALL | `denbanchk2(paramBean, retBoolean, svcFormBean)` (redirection info entry 2nd line) |
| 13 | CALL | `menkaihatuNochk(paramBean, retBoolean)` (development project number) |
| 14 | CALL | `doubanItenSonzaiChk1(paramBean, retBoolean)` (redirection existence 1st line) |
| 15 | CALL | `doubanItenSonzaiChk2(paramBean, retBoolean)` (redirection existence 2nd line) |
| 16 | CALL | `checkMa(paramBean, retBoolean, outputMap, mapper)` (MA consistency) |
| 17 | CALL | `checkTokiMskm(svcFormBean, retBoolean)` (redirect contact info) |
| 18 | CALL | `sokosuChk(paramBean, retBoolean, outputMap)` (mansion total count) |
| 19 | CALL | `kojiakStatChk(paramBean, retBoolean)` (engineering status check) |
| 20 | CALL | `dempaShogaiSonzaiChk(mapper, paramBean, outputMap, retBoolean)` (radio interference obstacle) |
| 21 | CALL | `smaValStateChk(mapper, paramBean, outputMap, retBoolean)` (smart balance status) |
| 22 | CALL | `kikiStateChk(mapper, paramBean, outputMap, retBoolean)` (device status) |
| 23 | SET | `tel_pcrs_bf`, `tel_pcrs_af` (PCS rate plan before/after) |
| 24 | FOR | `bean_eoh_tl_kktk_svc_map_list`: check VA model div |
| 25 | IF | `PCRS_CD_A31` before && `PCRS_CD_A32` after && `va_model_div.equals("1")` |
| 26 | CALL | `JCCWebCommon.setMessageInfo(this, "EKBC920--Q")` |
| 27 | IF | `retBoolean` -> CALL `checkHashinshaNoDspDsl(paramBean)` |
| 28 | IF | `retBoolean` -> CALL `checkTakinoRouter(paramBean)` |
| 29 | IF | `retBoolean` -> CALL `bampoTelnoDuplicateCheck_1ban(...)` |
| 30 | IF | `retBoolean` -> CALL `bampoTelnoDuplicateCheck_2ban(...)` |

**Block 19** — ELSE IF `INPUT_CHU` (L3787) [Input In-Progress Branch]

If `ido_div` is "00019" and `adchmStatCd` is `INPUT_CHU` (in-progress), run redirection info entry checks.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `denbanchk1(paramBean, retBoolean, svcFormBean)` (redirection info entry check 1st line) |
| 2 | CALL | `denbanchk2(paramBean, retBoolean, svcFormBean)` (redirection info entry check 2nd line) |

**Block 20** — IF `(INPUT_FIX.equals(rvsPtn))` (L3806) [Reversion Pattern 2 Check]

If the reversion pattern is 2 (second-week registration), check that engineering number has not changed.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mnkhtNoChangedCheck(paramBean, retBoolean)` (engineering number change check) |

**Block 21** — IF `"00020".equals(ido_div)` (L3816) [Residence Change Confirmation]

If `ido_div` is "00020" (residence change confirmation), run confirmation engineering status check.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `kakteiKojiakStatChk(paramBean, retBoolean)` (confirmation engineering status check) |

**Block 22** — IF `(eohtlFlg)` (L3834) [Duplicate Phone Number within Same Contract]

If eo tel service exists and `ido_div` is "00019" with add/change/continue, check for duplicate phone numbers within the same contract.

| # | Type | Code |
|---|------|------|
| 1 | IF | `telSvcChgDiv` is add/change/continue |
| 2 | IF | `!isSameKeiNaiTelnoDbleCheck(svcFormBean)` |
| 3 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE200_KW, new String[]{"Registration"})` |
| 4 | SET | `retBoolean = false` |

**Block 23** — END (L3861) [Terminal Equipment Warranty Check]

If terminal equipment warranty period applies (`tmcpMskprdUm` equals `CD_DIV_UM_ARI`), return error.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKStrConst.CD_DIV_UM_ARI.equals(tmcpMskprdUm)` |
| 2 | CALL | `JCCWebCommon.setMessageInfo(this, "EKB0780-KW", new String[]{"Terminal equipment warranty", "During warranty period exists", "Residence change registration"})` |
| 3 | SET | `retBoolean = false` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `adchmStatCd` | Field | Registration status code - classifies the stage of residence change (second-week, in-progress, or correction mode) |
| `ido_div` | Field | Moving division code - distinguishes between residence change registration ("00019") and confirmation ("00020") |
| `eohntFlg` | Field | eo net flag - indicates whether eo fiber internet service is active on this form |
| `eohtlFlg` | Field | eo tel flag - indicates whether eo landline telephone service is active on this form |
| `eohtvFlg` | Field | eo TV flag - indicates whether eo TV service is active on this form |
| `INPUT_FIX` | Constant | Second-week registration pattern - the registration confirmation step occurring the second week after initial registration |
| `INPUT_CHU` | Constant | In-progress status - the registration is still being processed |
| `RVS_PAT_ADCHG` | Constant | Correction mode pattern - a post-registration service correction is being made |
| `dmps_cd` | Field | Fault code - required for eo TV re-send service type "13" (eo TV with re-send) |
| `re_send_tk_svc_sbt_cd` | Field | Re-send service type code - required when eo TV re-send service is selected |
| `TLN_TLN_07` | Field | Telephone number field (7th tel entry) |
| `TLN_EMG_USER_KANA_07` | Field | Emergency contact name in Kana (7th entry) |
| `TLN_EMG_USER_NM_07` | Field | Emergency contact name in Kanji (7th entry) |
| `TLN_DSL_DIV_07` | Field | Cancellation flag - when true, the line is cancelled |
| `TLN_DSL_DIV` | Field | Cancellation flag (general) |
| `STB_TV_STB_PDN_10` | Field | STB type selection (1=standard, 2=HDD-attached) |
| `STB_TV_HDD_CAPA_PDN_10` | Field | HDD capacity selection (required for HDD-attached STB) |
| `STB_TV_STB_IDO_PDN_10` | Field | STB movement type (01=add, 02=exchange, 03=move, 04=same address) |
| `STB_TV_TV_COURSE_PDN_10` | Field | TV course selection |
| `STB_TV_MDL_NO_10` | Field | STB model number |
| `OP_HKTGI_EOHNT_TRN_PDN` | Field | eo net continuation type (continuation/cancellation/other) |
| `OP_HKTGI_EOHTL_TRN_PDN` | Field | eo tel continuation type |
| `OP_HKTGI_EOHTV_TRN_PDN` | Field | eo TV continuation type |
| `OP_SVC_CD_VALUE_MLTISE` | Field | Multi-section service code |
| `OP_SVC_HKTG_DSL` | Field | Continuation = cancellation |
| `PCRS_SPEED_CD_10G` | Field | 10G PCS rate plan code |
| `PCRS_CD_A31` | Field | PCS rate plan A31 (1st port course) |
| `PCRS_CD_A32` | Field | PCS rate plan A32 (2nd port course) |
| `CD00590_003` through `CD00590_007` | Constants | VDSL delivery method codes |
| `SVC_KEI_IDO_SBT_TSUIKA` | Constant | Service addition (追加) |
| `SVC_KEI_IDO_SBT_DSL` | Constant | Service cancellation (解約) |
| `SVC_KEI_IDO_SBT_PDING` | Constant | Service pending (保留) |
| `SVC_KEI_IDO_SBT_CHG` | Constant | Service change (変更) |
| `SVC_KEI_IDO_SBT_KEIZOKU` | Constant | Service continuation (継続) |
| `TAKNKIKI_IDO_STB_TSUIKA` | Constant | STB addition movement type |
| `TAKNKIKI_IDO_STB_KOKAN` | Constant | STB exchange movement type |
| `TAKNKIKI_IDO_STB_MOVE` | Constant | STB move movement type |
| `TAKNKIKI_IDO_STB_TEKKYO` | Constant | STB relocation movement type |
| `IDO_DIV_VALUE_00019` | Constant | Residence change registration division code |
| `IDO_DIV_VALUE_00020` | Constant | Residence change confirmation division code |
| `IDO_RSV_STAT_CD_FIN_RLD` | Constant | STB movement reservation - reflection completed |
| `IDO_RSV_STAT_CD_FIN_CL` | Constant | STB movement reservation - cancellation completed |
| `MANSION_BUKKEN_CD_MEZON` | Constant | Mansion building code for mezons |
| `MANSION_BUKVEN_CD_AF` | Field | Post-change mansion building code |
| `KOJI_NO` | Field | Engineering ticket number |
| `KOJIAK` | Field | Engineering status (工事確定) |
| `BANPO` | Field | Banner number (固定 IP / fixed IP phone number) |
| `K-OPT` | Business term | K-Opticom brand - K-Opticom phone number (non-banner) |
| `MA` | Acronym | Mansion allocation - consistency check for mansion services |
| `VA` | Acronym | Virtual Assistant - additional port for telephone services |
| `VDSL` | Business term | Very-high-bitrate Digital Subscriber Line - network delivery method |
| `STB` | Acronym | Set-Top Box - TV decoder device |
| `eo光ネット` | Business term | eo fiber internet - K-Opticom fiber-optic broadband service |
| `eo光電話` | Business term | eo landline telephone - K-Opticom landline telephone service |
| `eo光テレビ` | Business term | eo TV - K-Opticom television service |
| `住所変更登録` | Japanese | Residence change registration - the process of registering a change of address |
| `転居` | Japanese | Moving / relocation |
| `解約` | Japanese | Cancellation |
| `継続` | Japanese | Continuation |
| `変更` | Japanese | Change |
| `追加` | Japanese | Addition |
| `工事` | Japanese | Engineering / installation work |
| `電波障害` | Japanese | Radio interference obstacle |
| `同番異通` | Japanese | Similar number redirection |
| `再送信` | Japanese | Re-send |
| `固定IP` | Japanese | Fixed IP (banner number) |
| KKSV0698 | Screen/Service | Resident change registration check service - performs cross-field validation for residence change |
| EKK0341B504 | SC Code | Service contract line items check |
| EKU0011B050 | SC Code | Engineering ticket number check |
| EKK2601B001 | SC Code | Major item deletion records check |
| EKK0191B008 | SC Code | Similar number redirection info check |
| EZM0121B010 | SC Code | Phone number schema check |
| EZM0111A010 | SC Code | Phone aging check |
| EKK0271A010 | SC Code | Development project consent check |
| ETU0021B018 | SC Code | Redirection check |
| EKK1681B001CBSMsg1List | CBS | STB movement reservation list |
| JKKNetMobileCheckCC | CC | Net/mobile contract count check |
