# Business Logic — KKW00121SFLogic.checkKKW00124Error() [655 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00121SF.KKW00121SFLogic` |
| Layer | Controller Logic (Web view layer, within the `eo.web.webview.KKW00121SF` package) |
| Module | `KKW00121SF` (Package: `eo.web.webview.KKW00121SF`) |

## 1. Role

### KKW00121SFLogic.checkKKW00124Error()

This method performs comprehensive pre-registration validation for the eo Net service contract screen (KKW00124 - 登録前画面 / Pre-registration Screen). It is the final gatekeeper before a customer's net service registration data is committed. The method validates a wide spectrum of business rules across multiple service categories: network tab item checks (assessment notification, handling fees), tablet terminal purchase and configuration, streaming media player (STB/Netflix) rental, IP STB settings, Type N (WAO) mobile service, and connection method consistency. It implements a **conditional dispatch pattern** - branching by screen state (isErrClear controls error reset), device selection (tablet buy, STB rental, Type N), building type (mansion vs. building), and connection method (Ethernet, optical, VDSL). It also delegates to specialized check methods (checkTmckSkekkaCdDetail, checkOuchiKikiHosho, checkMeshWifi, adCheckKKW00124Error, adTkmkCheckKKW00124Error) for domain-specific validations.

The method is a shared utility called by four entry points within the same class: checkAllGamenError, checkGamenError, smpAgntGet, and tabletAgntGet, making it a central error-checking hub for the entire KKW00121SF module. Its return value (always true in normal flow; false only via exception) signals whether all validations passed and the screen can proceed to the next step.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["checkKKW00124Error<br/>isErrClear, isCallTabletAgntGet<br/>isCallSmpAgntGet"]) --> GETBEAN["GetX31SDataBeanAccess dataBean"]
    GETBEAN --> ERRCLR["if isErrClear?"]
    ERRCLR -- true --> CLRERR["clearPageErrInfo KKW00124_ERR_INFO<br/>reset TAB_NET_DSP_STAT"]
    ERRCLR -- false --> SKIPCLR["skip error clear"]
    CLRERR --> SINGLECHECK["単項目チェック: 審査結果通知"]
    SKIPCLR --> SINGLECHECK
    SINGLECHECK --> GETSKEKKA["get SKEKKA_TCHI_22"]
    GETSKEKKA --> SKEKKA_CHECK{"skekkaTchi length == 0?"}
    SKEKKA_CHECK -- true --> SKEKKA_ERR["addError EKB1320_NW<br/>must-check 審査結果通知"]
    SKEKKA_CHECK -- false --> TMCKCHECK["checkTmckSkekkaCdDetail"]
    SKEKKA_ERR --> TMCKCHECK
    TMCKCHECK --> JIMU_GET["get JIMU_COMMISION<br/>get JIMU_COMMISION_SHITEI_22"]
    JIMU_GET --> JIMU_CHECK{"jimuCommision length == 0?"}
    JIMU_CHECK -- true --> JIMU_ERR["addError EKB0010_TW<br/>must-check 事務手数料"]
    JIMU_CHECK -- false --> SHITEI_CHECK{"jimuCommision == JIMU_COMMISION_SHITEI<br/>shitei length == 0?"}
    JIMU_ERR --> SHITEI_CHECK
    SHITEI_CHECK -- true --> SHITEI_ERR["addError EKB0710_NW<br/>事務手数料指定必須"]
    SHITEI_CHECK -- false --> TABLET_GET["Get tabletTnmtNm, tabletPayway<br/>tabletBuy, tabletPremiumPack<br/>smpTnmtNm, smpBuyerName"]
    SHITEI_ERR --> TABLET_GET
    TABLET_GET --> PREMIUM_PACK{"tabletPremiumPack?"}
    PREMIUM_PACK -- true --> CHECK_TABLET_BUY{"tabletBuy?"}
    PREMIUM_PACK -- false --> TABLET_BUY{"tabletBuy?"}
    CHECK_TABLET_BUY -- true --> ERR_TABLET["addError EKBB860__Q<br/>premium pack needs tablet"]
    CHECK_TABLET_BUY -- false --> GH_CHECK
    TABLET_BUY -- true --> CHECK_TNMT_NM{"tabletTnmtNm empty?"}
    TABLET_BUY -- false --> GH_CHECK
    CHECK_TNMT_NM -- true --> ERR_TNMT["addError EKBB870_NW<br/>terminal name required"]
    CHECK_TNMT_NM -- false --> CHECK_PAYWAY{"tabletPayway null?"}
    ERR_TNMT --> CHECK_PAYWAY
    CHECK_PAYWAY -- true --> ERR_PAYWAY["addError EKBB870_NW x each item<br/>payment method required"]
    CHECK_PAYWAY -- false --> BUYER_CHECK{"!isCallTabletAgntGet<br/>tabletBuyer empty?"}
    ERR_PAYWAY --> BUYER_CHECK
    BUYER_CHECK -- true --> ERR_BUYER["addError EKBC870_KW<br/>buyer name required"]
    BUYER_CHECK -- false --> GH_FLG_CHECK
    ERR_BUYER --> GH_FLG_CHECK
    GH_FLG_CHECK["Get selectedIndex, ghJudgeInfo<br/>parse GH flag"] --> PREMIUM_GH{"!tabletPremiumPack<br/>and !ghFlg?"}
    PREMIUM_GH -- true --> ERR_PREM_GH["addError EKBB880__Q<br/>premium pack or GH required"]
    PREMIUM_GH -- false --> PACK_CHECK
    ERR_PREM_GH --> PACK_CHECK["Security/Family/Smart Premium pack check<br/>from preMap session data"]
    PACK_CHECK --> SVC_CALL["KKSV0119 mapper setup<br/>callService"]
    SVC_CALL --> SVC_RESULT{"service result false?"}
    SVC_RESULT -- true --> SVC_ERR["reset TAB_NET_DSP_STAT"]
    SVC_RESULT -- false --> SVC_OK["proceed"]
    SVC_ERR --> SVC_OK
    SVC_OK --> SVC_NO_CHECK{"svcKeiNo length > 0?"}
    SVC_NO_CHECK -- true --> ROUTER_CHECK["Router/Family/Jimu/Hyojun/Private<br/>family pack checks"]
    SVC_NO_CHECK -- false --> STB_CHECK
    ROUTER_CHECK --> STB_CHECK{"IP_STB_RENTAL?"}
    STB_CHECK -- true --> STB_TNMT{"smpTnmtNm empty?"}
    STB_CHECK -- false --> MASUTA_CHECK
    STB_TNMT -- true --> STB_ERR["addError EKBB870_NW<br/>streaming player required"]
    STB_TNMT -- false --> STB_BUYER{"!isCallSmpAgntGet<br/>smpBuyer empty?"}
    STB_ERR --> STB_BUYER
    STB_BUYER -- true --> STB_BUYER_ERR["addError EKBC870_KW<br/>buyer name required"]
    STB_BUYER -- false --> SMP_ERR_CHECK{"scResult errflg set?"}
    STB_BUYER_ERR --> SMP_ERR_CHECK
    SMP_ERR_CHECK -- true --> CHECKSMP["checksmpErr"]
    SMP_ERR_CHECK -- false --> MASUTA_CHECK
    CHECKSMP --> MASUTA_CHECK["Check tablet payway<br/>installment plan"]
    MASUTA_CHECK --> EOH_CRS_CHG["eohnetcrschgflg flag"]
    EOH_CRS_CHG --> MSKM_KIND["Check MSKM_KIND"]
    MSKM_KIND --> MANSION{"MSKM_KIND_MANSION?"}
    MANSION -- true --> HOSHIKI["Check MANSION_KAISEN_HOSHIKI"]
    MANSION -- false --> MEZON{"MSKM_KIND_MEZON?"}
    HOSHIKI --> ETHER{"ETHER?"}
    HOSHIKI --> OPTICAL{"OPTICAL?"}
    HOSHIKI --> VDSL{"VDSL?"}
    ETHER --> ETH_CRS{"eohnetcrschgflg?<br/>addError if true"}
    OPTICAL --> OPT_CRS{"eohnetcrschgflg?<br/>addError if true"}
    VDSL --> VDSL_CRS{"eohnetcrschgflg?<br/>addError + reset + info"}
    ETH_CRS --> MEZON_CRS{"MSKM_KIND_MEZON?"}
    OPT_CRS --> MEZON_CRS
    VDSL_CRS --> MEZON_CRS
    MEZON_CRS -- true --> MEZ_CRS{"eohnetcrschgflg?<br/>addError if true"}
    MEZON_CRS -- false --> CHKOUCHI
    MEZ_CRS --> CHKOUCHI["checkOuchiKikiHosho<br/>checkMeshWifi"]
    CHKOUCHI --> TYPE_N{"isTypeNHantei?"}
    TYPE_N -- true --> TYPE_N_CHECK["Type N: transfer no.<br/>phone, format checks"]
    TYPE_N -- false --> OPTICAL53
    TYPE_N_CHECK --> OPTICAL53["Optical mansion pattern 53<br/>1G/10G flag check"]
    OPTICAL53 --> END(["Return true"])
```

**CRITICAL - Constant Resolution:**

When the code branches on constants, the following resolved values apply:

| Constant | Resolved Value | Business Meaning |
|----------|---------------|-----------------|
| `KKW00124_TAB_INDEX` | `0` | Index of the Net tab in the service info data bean array |
| `KKW00124_ERR_INFO` | `4` | Error info ID for KKW00124 screen errors |
| `SKEKKA_TCHI_22` | "審査結果通知" | Assessment notification result |
| `JIMU_COMMISION_SHITEI_22` | "事務手数料（指定）" | Handling fee (specified amount) |
| `OP_ROUTER_RENTAL_CD_MUSEN` | `"1"` | No wireless router (無線ルーター) |
| `MSKM_KIND_MANSION` | `"1"` | Mansion type (マンション) |
| `MSKM_KIND_MEZON` | `"2"` | Building type (ビル) |
| `MANSION_KAISEN_HSK_CD_ETHER` | `"1"` | Ethernet connection method (イーサネット方式) |
| `MANSION_KAISEN_HSK_CD_OPTICAL` | `"2"` | Optical fiber connection method (光配線方式) |
| `MANSION_KAISEN_HSK_CD_VDSL` | `"3"` | VDSL connection method |
| `JKKStrConst.TK_HOSHIKI_PATTERN_CD_53` | `"53"` | Optical mansion pattern code 53 (53光変更マンション) |
| `WAO_TENYO_DIV_01` | `"01"` | Transfer: new (転用: 新規) |
| `WAO_BMP_NEW` | `"0"` | Obtain new number (新番号を取得する) |
| `TENYO_SHODAKU_NO_CHECK` | `"^[TFEW][0-9]{10}"` | Transfer contract number format (first char T/F/E/W, then 10 digits) |
| `JKKStrConst.WRIB_SVC_CD_SECURITY_PACK` | "Security Pack service code" | Security pack discount service |
| `JKKStrConst.WRIB_SVC_FAMIPA` | "Family Pack service code" | Family Pack discount service |
| `JKKStrConst.OP_SVC_CD_SMARTLINK_PREMIUM` | `"B077"` | Smart Premium service code |
| `KKSV0119` | Screen ID constant | Use case ID for KKSV0119 screen |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `isErrClear` | `boolean` | Controls whether screen errors should be cleared before validation. true: clear existing page errors and reset the net display status (画面のエラーをクリアしてからチェックするかしないか判定するフラグ). false: retain existing errors. This is used when the method is called from smpAgntGet or tabletAgntGet to avoid clearing errors that belong to the calling context. |
| 2 | `isCallTabletAgntGet` | `boolean` | Indicates whether this method is called from tabletAgntGet (tabletAgntGetから呼出された場合はtrue). When true, the tablet terminal buyer name validation is skipped because the agent screen already performed this check. This prevents duplicate error messages when navigation flows between agent screens. |
| 3 | `isCallSmpAgntGet` | `boolean` | Indicates whether this method is called from smpAgntGet (ストリーミングメディアプレイヤー画面から呼出された場合). When true, the streaming media player buyer name validation is skipped because the streaming player agent screen already performed this check. Added in ANK-3987-00-00 for Netflix integration. |

### Instance Fields / External State Read

The method reads the following instance fields and external state:

| Source | Field/State | Business Description |
|--------|------------|---------------------|
| `getServiceFormBean()` | `X31SDataBeanAccess` | The form data bean containing all screen input data |
| `JCCWebCommon.getScreenInfo(this, SESSION_KEY_MSKMDATA)` | `HashMap<String, Object>` | Session-stored screen info for net service multi-item data (セッションに格納した検索時に取得した値) |
| `getMansionMap(this, SESSION_KEY_MSKMDATA)` | `HashMap<String, Object>` | Mansion-specific data from session |
| `dataBean.sendMessageBoolean(KKW00101SFConst.OP_FAMILY_PACK)` | `boolean` | Whether family pack is displayed on screen |
| `dataBean.sendMessageBoolean(KKW00101SFConst.OP_SECURITY_PACK)` | `boolean` | Whether security pack is displayed on screen |
| `dataBean.sendMessageBoolean(KKW00101SFConst.TABLET_PREMIUM_PACK)` | `boolean` | Whether tablet premium pack is displayed on screen |
| `dataBean.sendMessageBoolean(KKW00121SFConst.EOH_NET_CRS_CHG_FLG)` | `boolean` | Network connection change flag (ネットワーク変更フラグ) |
| `dataBean.sendMessageString(KKW00121SFConst.MSKM_KIND)` | `String` | Building/mansion type classification |
| `dataBean.sendMessageString(KKW00121SFConst.MANSION_KAISEN_HOSHIKI)` | `String` | Mansion connection method code |
| `dataBean.sendMessageString(KKW00121SFConst.TK_HOSHIKI_PATTERN_CD)` | `String` | Connection pattern code |
| `dataBean.sendMessageBoolean(KKW00121SFConst.KNYKEI_NET_1G_MKM_KH_MANS_FLG)` | `boolean` | 1G mansion optical flag |
| `dataBean.sendMessageBoolean(KKW00121SFConst.KNYKEI_NET_10G_MKM_KH_MANS_FLG)` | `boolean` | 10G mansion optical flag |
| `dataBean.sendMessageBoolean(KKW00121SFConst.IP_STB_RENTAL)` | `boolean` | IP STB rental flag |
| `dataBean.sendMessageString(KKW00121SFConst.WAO_TENYO_SHODAKU_NO)` | `String` | WAO transfer contract number |
| `dataBean.sendMessageBoolean(KKW00121SFConst.TYPEN_TEL_MSKM_UM)` | `boolean` | Type N phone service flag |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKBatClarisAuthCrdt.isNullBlank` | JKKBatClarisAuthCrdt | - | Calls `isNullBlank` in `JKKBatClarisAuthCrdt` |
| R | `JKKHttpCommunicator.sendMessage` | JKKHttpCommunicator | - | Calls `sendMessage` in `JKKHttpCommunicator` |
| R | `JKKSmtvSendFile.sendMessage` | JKKSmtvSendFile | - | Calls `sendMessage` in `JKKSmtvSendFile` |
| R | `JKKTjgsAreaIfSendFile.sendMessage` | JKKTjgsAreaIfSendFile | - | Calls `sendMessage` in `JKKTjgsAreaIfSendFile` |
| R | `JZEBatCommon.nullToBlank` | JZEBatCommon | - | Calls `nullToBlank` in `JZEBatCommon` |
| R | `JZEbatMaskSyori.nullToBlank` | JZEbatMaskSyori | - | Calls `nullToBlank` in `JZEbatMaskSyori` |
| R | `JZMBatCommon.nullToBlank` | JZMBatCommon | - | Calls `nullToBlank` in `JZMBatCommon` |
| R | `JBSbatACEoElectPrcInfoTrkm.isNullBlank` | JBSbatACEoElectPrcInfoTrkm | - | Calls `isNullBlank` in `JBSbatACEoElectPrcInfoTrkm` |
| R | `JBSbatACTrgtSvcKeiMake.isNullBlank` | JBSbatACTrgtSvcKeiMake | - | Calls `isNullBlank` in `JBSbatACTrgtSvcKeiMake` |
| R | `JBSbatCHKssaidkCvsNkinInfoAdd.isNullBlank` | JBSbatCHKssaidkCvsNkinInfoAdd | - | Calls `isNullBlank` in `JBSbatCHKssaidkCvsNkinInfoAdd` |
| R | `JBSbatCHMakeEoElecKyseKiykList.isNullBlank` | JBSbatCHMakeEoElecKyseKiykList | - | Calls `isNullBlank` in `JBSbatCHMakeEoElecKyseKiykList` |
| R | `JBSbatDKHmpinAdd.split` | JBSbatDKHmpinAdd | - | Calls `split` in `JBSbatDKHmpinAdd` |
| R | `JBSbatDKNyukaFinAdd.split` | JBSbatDKNyukaFinAdd | - | Calls `split` in `JBSbatDKNyukaFinAdd` |
| R | `JBSbatDKTanaMoveShkaCmpAdd.split` | JBSbatDKTanaMoveShkaCmpAdd | - | Calls `split` in `JBSbatDKTanaMoveShkaCmpAdd` |
| R | `JBSbatDKTkkikiGetReqHmpin.split` | JBSbatDKTkkikiGetReqHmpin | - | Calls `split` in `JBSbatDKTkkikiGetReqHmpin` |
| R | `JBSbatDKTkkikiGetReqNyuka.split` | JBSbatDKTkkikiGetReqNyuka | - | Calls `split` in `JBSbatDKTkkikiGetReqNyuka` |
| R | `JCCBPCommon.getOpeDate` | JCCBPCommon | - | Calls `getOpeDate` in `JCCBPCommon` |
| R | `JFUEoTvCngAddStbCC.getOpeDate` | JFUEoTvCngAddStbCC | - | Calls `getOpeDate` in `JFUEoTvCngAddStbCC` |
| R | `JFUHikkosiNaviRelAddCC.getOpeDate` | JFUHikkosiNaviRelAddCC | - | Calls `getOpeDate` in `JFUHikkosiNaviRelAddCC` |
| R | `JCCModelCommon.getOpeDate` | JCCModelCommon | - | Calls `getOpeDate` in `JCCModelCommon` |
| R | `JKKCreditAddCC.getOpeDate` | JKKCreditAddCC | - | Calls `getOpeDate` in `JKKCreditAddCC` |
| R | `JKKAddSjishoCC.isNullEmpty` | JKKAddSjishoCC | - | Calls `isNullEmpty` in `JKKAddSjishoCC` |
| R | `JKKAddSjishoCCMapper.isNullEmpty` | JKKAddSjishoCCMapper | - | Calls `isNullEmpty` in `JKKAddSjishoCCMapper` |
| R | `JCNStringUtil.isNullEmpty` | JCNString | - | Calls `isNullEmpty` in `JCNStringUtil` |
| R | `JKKStringUtil.isNullEmpty` | JKKString | - | Calls `isNullEmpty` in `JKKString` |
| C | `JPCDateUtil.addDay` | JPCDate | - | Calls `addDay` in `JPCDateUtil` |
| C | `JCKLcsCommonUtil.addDay` | JCKLcsCommon | - | Calls `addDay` in `JCKLcsCommonUtil` |
| C | `JPCUtilCommon.addDay` | JPCUtilCommon | - | Calls `addDay` in `JPCUtilCommon` |
| C | `callService` | KKSV0119 | KKSV011902CC / EKK2521B503CBS | Service call for net service validation (mapper: setKKSV011901CC, setKKSV011902CC) |
| C | `checkTmckSkekkaCdDetail` | KKW00121SFLogic | - | Check TMCK assessment code detail |
| C | `convertJimuCommisionIdxToCode` | KKW00121SFLogic | - | Convert handling fee tab index to code |
| C | `checkJimuCommision` | KKW00121SFLogic | - | Check handling fee changes |
| C | `checkHyojunKojihi` | KKW00121SFLogic | - | Check standard labor cost changes |
| C | `checkPrivateRouter` | KKW00121SFLogic | - | Check private router configuration |
| C | `checkOuchiKikiHosho` | KKW00121SFLogic | - | Check home device protection (ANK-3484) |
| C | `checkMeshWifi` | KKW00121SFLogic | - | Check mesh WiFi service (ANK-3825) |
| C | `adCheckKKW00124Error` | KKW00121SFLogic | - | Address item number validation |
| C | `adTkmkCheckKKW00124Error` | KKW00121SFLogic | - | Address item validation |
| C | `checksmpErr` | KKW00121SFLogic | - | Check streaming media player errors |
| R | `getOpRouterRental` | KKW00121SFLogic | - | Get previous OP router rental value |
| R | `getOpTakinoRouterRental` | KKW00121SFLogic | - | Get previous OP Takino router rental value |
| R | `isTypeNHantei` | KKW00121SFLogic | - | Check if Type N is selected |
| R | `chkTelephoneNumber2` | KKW00121SFLogic | - | Validate telephone number format |
| R | `getTenyoSdYkKigen` | KKW00121SFLogic | - | Get transfer contract validity period |
| C | `getPullDownCode` | JKKWebCommon | - | Get pull-down selection code |
| C | `getPullDownIndex` | JKKWebCommon | - | Get pull-down selection index |
| R | `chkChgKkopRouter` | JKKWebCommon | - | Check router change |
| R | `getScreenInfo` | JCCWebCommon | - | Get screen info from session |
| C | `getOpeDate` | JCCWebCommon | - | Get operation date |
| C | `getOpeDateTimeStamp` | JCCWebCommon | - | Get operation date timestamp |
| R | `isNullBlank` | JKKStringUtil | - | Null/blank check utility |
| R | `nullToBlank` | JKKStringUtil | - | Null to blank conversion |
| R | `getNotFamilyPackRouterCount` | KKSV0119_KKSV0119OPDBMapper | - | Count non-family-pack routers |
| R | `checkShokaiFamipa` | JKKKeiNewCmnLogicUtil | - | Check introductory family pack |
| R | `sendMessageBoolean` | X31SDataBeanAccess | - | Get boolean value from data bean |
| R | `sendMessageString` | X31SDataBeanAccess | - | Get string value from data bean |
| C | `sendMessageBoolean` | X31SDataBeanAccess | - | Set boolean value in data bean |
| C | `sendMessageString` | X31SDataBeanAccess | - | Set string value in data bean |
| C | `clearPageErrInfo` | PageErrInfoManager | - | Clear page error info |
| C | `addPageErrInfo` | PageErrInfoManager | - | Add page error info |

### SC (Service Component) Summary

| SC Code | Description |
|---------|-------------|
| `KKSV011901CC` | KKSV0119 component 01 - OP DB mapping setup |
| `KKSV011902CC` | KKSV0119 component 02 - OP DB mapping with mansion/net/usePlace data |
| `EKK2521B503CBS` | CBS referenced in outputMap - tablet payway installment plan check |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Method: `KKW00121SFLogic.checkAllGamenError()` | `checkAllGamenError()` -> `checkKKW00124Error(true, false, false)` | `callService [C] KKSV011902CC`, `addPageErrInfo [C] KKW00124_ERR_INFO` |
| 2 | Method: `KKW00121SFLogic.checkGamenError()` | `checkGamenError()` -> `checkKKW00124Error(true, false, false)` | `callService [C] KKSV011902CC`, `addPageErrInfo [C] KKW00124_ERR_INFO` |
| 3 | Method: `KKW00121SFLogic.smpAgntGet()` | `smpAgntGet()` -> `checkKKW00124Error(false, false, true)` | `callService [C] KKSV011902CC`, `checksmpErr [C] SMP_TNMT_BUY_UK_TNTSHA_NM` |
| 4 | Method: `KKW00121SFLogic.tabletAgntGet()` | `tabletAgntGet()` -> `checkKKW00124Error(false, true, false)` | `callService [C] KKSV011902CC`, `checksmpErr [C] TABLET_TNMT_BUY_UK_TNTSHA_NM` |

**Terminal operations from this method:**

| Operation | Type | Entity / Description |
|-----------|------|---------------------|
| `isNullBlank` | R | String null/blank check (various utility classes) |
| `sendMessageString` | R/C | Data bean get/set string operations |
| `addPageErrInfo` | C | Page error info registration (KKW00124_ERR_INFO) |
| `callService` | C | KKSV011902CC / EKK2521B503CBS - net service validation |
| `adCheckKKW00124Error` | C | Address item number validation |
| `adTkmkCheckKKW00124Error` | C | Address item validation |
| `checksmpErr` | C | Streaming media player error check |
| `checkOuchiKikiHosho` | C | Home device protection check (ANK-3484) |
| `checkMeshWifi` | C | Mesh WiFi service check (ANK-3825) |

