# Business Logic — JFUMkmInfoAddFrontiaPreTrnCC.searchEohDnBkn() [118 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JFUMkmInfoAddFrontiaPreTrnCC` |
| Layer | CC / Common Component (Service Component wrapper) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JFUMkmInfoAddFrontiaPreTrnCC.searchEohDnBkn()

This method retrieves property (mansion/condominium) data for the EO Hikari (eo光) fiber-to-the-home service in the Frontia customer application registration flow. It acts as a facade that builds a search parameter map from the current work area, delegates the actual database query to `JFUEohDnBknSearchCC.searchEohDnBkn()`, and then processes the returned property record to enrich mansion campaign data with discount service codes and promotional periods. Specifically, it iterates over each mansion's campaign lists — one for network services and another for TV services — calling the discount service code lookup (`execEkk0841b510`) and the fallback discount item code lookup (`execEkk1351b501`) for each campaign entry. Network campaigns use dynamic provider codes from the work area (`getPcrsCdNet` / `getPplanCdNet`), while TV campaigns use hardcoded service codes ("A39" / "PA3901"). After enrichment, the enriched result list is written back to the parameter map for downstream screen rendering. This method follows a **delegation + enrichment** pattern and serves as a shared utility called by the `execute()` method during the pre-registration front-end processing for property-based subscriptions.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["searchEohDnBkn()"])
    GET_MSG["Get ccMsg = param.getData(fixedText)"]
    CREATE_SEARCH["Create JFUEohDnBknSearchCC instance"]
    PUT_PARAMS["Put search params into ccMsg from workArea"]
    PUT_PARAMS["Put 5 properties: building, net/TV line contracts, net/TV provider contracts"]
    CALL_SEARCH["Call eohDnBknSearch.searchEohDnBkn(handle, param, fixedText)"]
    EXTRACT["Extract resultList from result map"]
    COND_MAIN{"resultList != null
and size == 1"}
    SET_WORKAREA["Set workArea from resultList data"]
    LOOP_MANSION["For each mansion in resultList"]
    COND_MANSION{"resMansionSearch != null
and size > 0"}
    NET_CAMPS{"netCampList != null
and not empty"}
    GET_PCRS_PPLAN["Get mskmPcrsCd and mskmPplanCd from workArea"]
    LOOP_NET_CAMP["For each netCampMap in netCampList"]
    GET_CAMPCD["Get campCd from campMap"]
    CALL_DISCOUNT["Call execEkk0841b510 with workArea-based codes"]
    COND_HAS_DISCOUNT{"discount result != null"}
    PUT_DISCOUNT_NET["Put WribSvcCd, CampaignNm, CampaignStaDtm, CampaignEndDtm, SbtCd=2 into campMap"]
    CALL_FALLBACK["Call execEkk1351b501 with workArea-based codes"]
    COND_FALLBACK{"dchskmCd != null"}
    PUT_FALLBACK_NET["Put DchskmCd into campMap"]
    TV_CAMPS{"tvCampList != null
and not empty"}
    SET_TV_PCRS_PPLAN["Set mskmPcrsCd = A39
Set mskmPplanCd = PA3901"]
    LOOP_TV_CAMP["For each tvCampMap in tvCampList"]
    GET_CAMPCD_TV["Get campCd from tvCampMap"]
    CALL_DISCOUNT_TV["Call execEkk0841b510 with hardcoded codes"]
    COND_HAS_DISCOUNT_TV{"discount result != null"}
    PUT_DISCOUNT_TV["Put WribSvcCd, CampaignNm, CampaignStaDtm, CampaignEndDtm, SbtCd=2 into campMap"]
    CALL_FALLBACK_TV["Call execEkk1351b501 with hardcoded codes"]
    COND_FALLBACK_TV{"dchskmCd != null"}
    PUT_FALLBACK_TV["Put DchskmCd into campMap"]
    PUT_RESULT["Put resultList into ccMsg"]
    REMOVE_PARAMS["Remove 5 search params from ccMsg"]
    END(["Return / Next"])

    START --> GET_MSG --> CREATE_SEARCH --> PUT_PARAMS --> CALL_SEARCH --> EXTRACT --> COND_MAIN
    COND_MAIN -- true --> SET_WORKAREA --> LOOP_MANSION --> COND_MANSION
    COND_MANSION -- true --> NET_CAMPS
    NET_CAMPS -- true --> GET_PCRS_PPLAN --> LOOP_NET_CAMP --> GET_CAMPCD --> CALL_DISCOUNT --> COND_HAS_DISCOUNT
    COND_HAS_DISCOUNT -- true --> PUT_DISCOUNT_NET
    COND_HAS_DISCOUNT -- false --> CALL_FALLBACK --> COND_FALLBACK
    COND_FALLBACK -- true --> PUT_FALLBACK_NET
    PUT_DISCOUNT_NET --> TV_CAMPS
    PUT_FALLBACK_NET --> TV_CAMPS
    TV_CAMPS -- true --> SET_TV_PCRS_PPLAN --> LOOP_TV_CAMP --> GET_CAMPCD_TV --> CALL_DISCOUNT_TV --> COND_HAS_DISCOUNT_TV
    COND_HAS_DISCOUNT_TV -- true --> PUT_DISCOUNT_TV
    COND_HAS_DISCOUNT_TV -- false --> CALL_FALLBACK_TV --> COND_FALLBACK_TV
    COND_FALLBACK_TV -- true --> PUT_FALLBACK_TV
    PUT_DISCOUNT_TV --> PUT_RESULT
    PUT_FALLBACK_TV --> PUT_RESULT
    COND_MANSION -- false --> PUT_RESULT
    PUT_RESULT --> REMOVE_PARAMS --> END
```

**CRITICAL — Constant Resolution:**
When the code uses hardcoded values for TV campaigns:
- `JFUStrConst.CD00134_A39 = "A39"` — Network service code for TV campaigns
- `JFUStrConst.CD00565_PA3901 = "PA3901"` — Network plan code for TV campaigns
- `JFUMkmInfoAddFrontiaConstCC.CAMPAIGN_SBT_CD = "2"` — Discount service subtype code

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session handle used for database transaction context and connection management throughout the request lifecycle |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter container holding the message map (`ccMsg`) where search keys are written and enriched results are returned to the calling screen |
| 3 | `fixedText` | `String` | User-defined string key used to retrieve the correct message map from `param.getData()`. Acts as a namespace identifier for the parameter block belonging to this front-end processing step |
| 4 | `workArea` | `JFUMkmInfoAddFrontiaWorkArea` | Work area object holding the current application state — property management number, network/TV line contract numbers, and provider contract numbers. Drives both the search query and the dynamic campaign service codes |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JFUEohDnBknSearchCC.searchEohDnBkn` | (delegates to underlying search SC) | KK_T_EOH_DN_BKN (EO Hikari Property Search) | Searches property (mansion/condominium) data using building management number, network/TV line contract numbers, and provider contract numbers as search criteria |
| R | `JFUMkmInfoAddFrontiaUtil.getPcrsCdNet` | JFUMkmInfoAddFrontia | workArea (in-memory) | Retrieves the network provider contract rate code from the work area |
| R | `JFUMkmInfoAddFrontiaUtil.getPplanCdNet` | JFUMkmInfoAddFrontia | workArea (in-memory) | Retrieves the network provider plan contract number from the work area |
| R | `JFUMkmInfoAddFrontiaUtil.setWorkAreaFromBknData` | JFUMkmInfoAddFrontia | workArea (in-memory) | Populates work area fields from the searched building/mansion data map |
| C | `JFUMkmInfoAddFrontiaPreTrnCC.execEkk0841b510` | EKK0841B510CBS | KK_T_WRIB_SVC (Discount Service / 割引サービス) | Looks up discount service code and promotional period (start/end date, name) for a given campaign code and provider codes |
| R | `JFUMkmInfoAddFrontiaPreTrnCC.execEkk1351b501` | EKK1351B501CBS | KK_T_DCHSKM (Discount Item / 引き出し項目) | Fallback: retrieves discount item code when no discount service code is available for the campaign |
| - | `JFUBPCommon.isNull` | JACBatCommon | - | Null-check utility used on return values from execEkk0841b510 and execEkk1351b501 |
| R | `JFUMkmInfoAddFrontiaWorkArea.getBkn_knri_no` | JFUMkmInfoAddFrontiaWorkArea | - | Reads building management number from work area |
| R | `JFUMkmInfoAddFrontiaWorkArea.getNet_kaisen_use_kei_no` | JFUMkmInfoAddFrontiaWorkArea | - | Reads network line use contract number from work area |
| R | `JFUMkmInfoAddFrontiaWorkArea.getTv_kaisen_use_kei_no` | JFUMkmInfoAddFrontiaWorkArea | - | Reads TV line use contract number from work area |
| R | `JFUMkmInfoAddFrontiaWorkArea.getNet_tk_hoshiki_kei_no` | JFUMkmInfoAddFrontiaWorkArea | - | Reads network provider contract number from work area |
| R | `JFUMkmInfoAddFrontiaWorkArea.getTv_tk_hoshiki_kei_no` | JFUMkmInfoAddFrontiaWorkArea | - | Reads TV provider contract number from work area |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | JFUMkmInfoAddFrontiaPreTrnCC | `execute()` -> `searchEohDnBkn(handle, param, fixedText, workArea)` | `execEkk0841b510 [C] KK_T_WRIB_SVC`, `execEkk1351b501 [R] KK_T_DCHSKM`, `searchEohDnBkn [R] KK_T_EOH_DN_BKN` |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET / LOCAL VARIABLE DECLARATION] (L2040)

> Retrieves the message map from the parameter container using the fixedText key.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ccMsg = (Map<String, Object>) param.getData(fixedText)` // Retrieves the request message map identified by fixedText |

**Block 2** — [SET / LOCAL VARIABLE DECLARATION] (L2043–2044)

> Creates the EO Hikari property search component and puts search keys from workArea into ccMsg.

| # | Type | Code |
|---|------|------|
| 1 | SET | `eohDnBknSearch = new JFUEohDnBknSearchCC()` // Instantiate search component |
| 2 | SET | `ccMsg.put(KEY_BKN_KNRI_NO, workArea.getBkn_knri_no())` // building management number |
| 3 | SET | `ccMsg.put(KEY_NET_KAISEN_USE_KEI_NO, workArea.getNet_kaisen_use_kei_no())` // [KEY_NET_KAISEN_USE_KEI_NO = "key_net_kaisen_use_kei_no"] network line contract number |
| 4 | SET | `ccMsg.put(KEY_TV_KAISEN_USE_KEI_NO, workArea.getTv_kaisen_use_kei_no())` // [KEY_TV_KAISEN_USE_KEI_NO = "key_tv_kaisen_use_kei_no"] TV line contract number |
| 5 | SET | `ccMsg.put(KEY_NET_TK_HOSHIKI_KEI_NO, workArea.getNet_tk_hoshiki_kei_no())` // [KEY_NET_TK_HOSHIKI_KEI_NO = "key_net_tk_hoshiki_kei_no"] network provider contract number |
| 6 | SET | `ccMsg.put(KEY_TV_TK_HOSHIKI_KEI_NO, workArea.getTv_tk_hoshiki_kei_no())` // [KEY_TV_TK_HOSHIKI_KEI_NO = "key_tv_tk_hoshiki_kei_no"] TV provider contract number |

**Block 3** — [CALL / SEARCH DELEGATION] (L2055)

> Calls the search component with the prepared parameter map.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `resutEohDnBkn = eohDnBknSearch.searchEohDnBkn(handle, param, fixedText)` // Delegates to the EO Hikari property search CC |

**Block 4** — [SET / EXTRACTION] (L2056)

> Extracts the mansion search result list from the search response.

| # | Type | Code |
|---|------|------|
| 1 | SET | `resultList = (List<Map<String, Object>>) resutEohDnBkn.get(RES_MANSION_SEARCH_LIST)` // [RES_MANSION_SEARCH_LIST = "mansion_search_list"] |

**Block 5** — [IF CONDITION] `(resultList != null && resultList.size() == 1)` (L2058)

> Only proceeds if exactly one property record is returned — this method expects a single-mansion context.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | Conditional check: single-result filter |

**Block 5.1** — [CALL / SET WORKAREA] (L2062)

> Copies the searched building data back into the work area object so downstream processing has the latest property details.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `chkUtil.setWorkAreaFromBknData(workArea, resultList.get(0))` // Populates workArea with the single mansion record |

**Block 5.2** — [FOR LOOP] `for (int i = 0; i < resultList.size(); i++)` (L2064)

> Iterates over each mansion in the result (single iteration due to size == 1 guard above).

| # | Type | Code |
|---|------|------|
| 1 | SET | `resMansionSearch = resultList.get(i)` // Current mansion record |
| 2 | EXEC | Conditional check: `resMansionSearch != null && resMansionSearch.size() > 0` |

**Block 5.2.1** — [IF CONDITION] `(resMansionSearch != null && resMansionSearch.size() > 0)` (L2068)

> Only process if the mansion map has data.

**Block 5.2.1.1** — [SET / NETWORK CAMPAIGNS] (L2070–2071)

> Retrieves the network mansion campaign list and checks if it has entries.

| # | Type | Code |
|---|------|------|
| 1 | SET | `netCampList = (List<Map<String, Object>>) resMansionSearch.get(RES_NET_MANS_CAMPAIGN_LIST)` // [RES_NET_MANS_CAMPAIGN_LIST = "net_mans_campaign_list"] network mansion campaign list |
| 2 | EXEC | Conditional check: `netCampList != null && netCampList.size() > 0` |

**Block 5.2.1.1.1** — [IF CONDITION] `(netCampList != null && netCampList.size() > 0)` (L2072)

> Process network (Internet) mansion campaigns.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mskmPcrsCd = JFUMkmInfoAddFrontiaUtil.getPcrsCdNet(workArea)` // Dynamic network provider rate code from workArea |
| 2 | CALL | `mskmPplanCd = JFUMkmInfoAddFrontiaUtil.getPplanCdNet(workArea)` // Dynamic network provider plan code from workArea |

**Block 5.2.1.1.1.1** — [FOR LOOP] `for (int j = 0; j < netCampList.size(); j++)` (L2076)

> Iterates over each network campaign entry.

| # | Type | Code |
|---|------|------|
| 1 | SET | `campMap = netCampList.get(j)` // Current campaign map |
| 2 | SET | `campCd = (String) campMap.get(RES_NET_MANS_CAMPAIGN_CD)` // [RES_NET_MANS_CAMPAIGN_CD = "net_mans_campaign_cd"] campaign code |

**Block 5.2.1.1.1.2** — [CALL / MAIN DISCOUNT LOOKUP] (L2078)

> Calls the discount service code lookup with workArea-based provider codes.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk0841b509Out = execEkk0841b510(handle, param, fixedText, campCd, mskmPcrsCd, mskmPplanCd)` // Discount service code lookup |

**Block 5.2.1.1.1.2.1** — [IF CONDITION] `(!JFUBPCommon.isNull(ekk0841b509Out))` (L2079)

> **Branch: Discount service code found** — Populate discount promotion details from the service lookup result.

> (マンション割引サービスコード（.NET）) — Network mansion discount service code

| # | Type | Code |
|---|------|------|
| 1 | SET | `campMap.put(RES_NET_MANS_WRIB_SVC_CD, ekk0841b509Out.getString(WRIB_SVC_CD))` // [RES_NET_MANS_WRIB_SVC_CD = "net_mans_wrib_svc_cd"] discount service code |
| 2 | SET | `campMap.put(CAMPAIGN_NM, ekk0841b509Out.getString(WRIB_SVC_NM))` // [CAMPAIGN_NM = "campaign_nm"] campaign/promotion name |
| 3 | SET | `campMap.put(CAMPAIGN_STA_DTM, ekk0841b509Out.getString(UK_STA_YMDHM))` // Campaign start date/time |
| 4 | SET | `campMap.put(CAMPAIGN_END_DTM, ekk0841b509Out.getString(UK_END_YMDHM))` // Campaign end date/time |
| 5 | SET | `campMap.put(CAMPAIGN_SBT_CD, "2")` // [CAMPAIGN_SBT_CD = "campaign_sbt_cd"] subtype code — "2" = discount service |

**Block 5.2.1.1.1.2.2** — [ELSE] (L2088)

> **Branch: No discount service code** — Fall back to the discount item code lookup.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dchskmCd = execEkk1351b501(handle, param, fixedText, campCd, mskmPcrsCd, mskmPplanCd)` // Fallback discount item lookup |

**Block 5.2.1.1.1.2.2.1** — [IF CONDITION] `(!JFUBPCommon.isNull(dchskmCd))` (L2091)

> If the fallback returned a discount item code, set it into the campaign map.

> (マンションデータ抽出項目コード（.NET）) — Network mansion data extraction item code

| # | Type | Code |
|---|------|------|
| 1 | SET | `campMap.put(RES_NET_MANS_DCHSKM_CD, dchskmCd)` // [RES_NET_MANS_DCHSKM_CD = "net_mans_dchskm_cd"] discount item code |

**Block 5.2.1.1.2** — [SET / TV CAMPAIGNS] (L2096–2097)

> Retrieves the TV mansion campaign list and checks if it has entries. TV campaigns use **hardcoded** provider codes instead of workArea-derived ones.

| # | Type | Code |
|---|------|------|
| 1 | SET | `tvCampList = (List<Map<String, Object>>) resMansionSearch.get(RES_TV_MANS_CAMPAIGN_LIST)` // [RES_TV_MANS_CAMPAIGN_LIST = "tv_mans_campaign_list"] TV mansion campaign list |
| 2 | EXEC | Conditional check: `tvCampList != null && tvCampList.size() > 0` |

**Block 5.2.1.1.2.1** — [IF CONDITION] `(tvCampList != null && tvCampList.size() > 0)` (L2098)

> Process TV mansion campaigns.

| # | Type | Code |
|---|------|------|
| 1 | SET | `mskmPcrsCd = JFUStrConst.CD00134_A39` // = "A39" — hardcoded network service code for TV campaigns |
| 2 | SET | `mskmPplanCd = JFUStrConst.CD00565_PA3901` // = "PA3901" — hardcoded network plan code for TV campaigns |

**Block 5.2.1.1.2.1.1** — [FOR LOOP] `for (int j = 0; j < tvCampList.size(); j++)` (L2102)

> Iterates over each TV campaign entry.

| # | Type | Code |
|---|------|------|
| 1 | SET | `campMap = tvCampList.get(j)` // Current TV campaign map |
| 2 | SET | `campCd = (String) campMap.get(RES_TV_MANS_CAMPAIGN_CD)` // [RES_TV_MANS_CAMPAIGN_CD = "tv_mans_campaign_cd"] TV campaign code |

**Block 5.2.1.1.2.1.2** — [CALL / MAIN DISCOUNT LOOKUP] (L2104)

> Calls the discount service code lookup with **hardcoded** codes (A39 / PA3901).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ekk0841b509Out = execEkk0841b510(handle, param, fixedText, campCd, mskmPcrsCd, mskmPplanCd)` // Discount service code lookup (TV) |

**Block 5.2.1.1.2.1.2.1** — [IF CONDITION] `(!JFUBPCommon.isNull(ekk0841b509Out))` (L2105)

> **Branch: Discount service code found** — Populate discount promotion details.

> (マンション割引サービスコード（TV）) — TV mansion discount service code

| # | Type | Code |
|---|------|------|
| 1 | SET | `campMap.put(RES_TV_MANS_WRIB_SVC_CD, ekk0841b509Out.getString(WRIB_SVC_CD))` // [RES_TV_MANS_WRIB_SVC_CD = "tv_mans_wrib_svc_cd"] discount service code |
| 2 | SET | `campMap.put(CAMPAIGN_NM, ekk0841b509Out.getString(WRIB_SVC_NM))` // Campaign name |
| 3 | SET | `campMap.put(CAMPAIGN_STA_DTM, ekk0841b509Out.getString(UK_STA_YMDHM))` // Campaign start date/time |
| 4 | SET | `campMap.put(CAMPAIGN_END_DTM, ekk0841b509Out.getString(UK_END_YMDHM))` // Campaign end date/time |
| 5 | SET | `campMap.put(CAMPAIGN_SBT_CD, "2")` // [CAMPAIGN_SBT_CD = "campaign_sbt_cd"] subtype code — "2" = discount service |

**Block 5.2.1.1.2.1.2.2** — [ELSE] (L2114)

> **Branch: No discount service code** — Fall back to the discount item code lookup.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dchskmCd = execEkk1351b501(handle, param, fixedText, campCd, mskmPcrsCd, mskmPplanCd)` // Fallback discount item lookup (TV) |

**Block 5.2.1.1.2.1.2.2.1** — [IF CONDITION] `(!JFUBPCommon.isNull(dchskmCd))` (L2117)

> If the fallback returned a discount item code, set it into the campaign map.

> (マンションデータ抽出項目コード（TV）) — TV mansion data extraction item code

| # | Type | Code |
|---|------|------|
| 1 | SET | `campMap.put(RES_TV_MANS_DCHSKM_CD, dchskmCd)` // [RES_TV_MANS_DCHSKM_CD = "tv_mans_dchskm_cd"] discount item code |

**Block 6** — [SET / CLEANUP] (L2123–L2139)

> Writes the enriched result list back into ccMsg and removes the temporary search keys to avoid polluting the parameter map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ccMsg.put(RES_MANSION_SEARCH_LIST, resultList)` // [RES_MANSION_SEARCH_LIST = "mansion_search_list"] Write enriched list back |
| 2 | EXEC | `ccMsg.remove(KEY_BKN_KNRI_NO)` // Remove building management number key |
| 3 | EXEC | `ccMsg.remove(KEY_NET_KAISEN_USE_KEI_NO)` // Remove network line contract number key |
| 4 | EXEC | `ccMsg.remove(KEY_TV_KAISEN_USE_KEI_NO)` // Remove TV line contract number key |
| 5 | EXEC | `ccMsg.remove(KEY_NET_TK_HOSHIKI_KEI_NO)` // Remove network provider contract number key |
| 6 | EXEC | `ccMsg.remove(KEY_TV_TK_HOSHIKI_KEI_NO)` // Remove TV provider contract number key |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `bkn_knri_no` | Field | Building management number — internal identifier for a property/mansion in the system |
| `kaisen_use_kei_no` | Field | Line use contract number — the service contract number for a leased line (network or TV) |
| `tk_hoshiki_kei_no` | Field | Provider contract number — the number for a contracted service provision plan/method |
| `camp_cd` | Field | Campaign code — identifier for a promotional campaign tied to a property |
| `wrib_svc_cd` | Field | Discount service code — the code for a discount/midashi service associated with a campaign |
| `wrib_svc_nm` | Field | Discount service name — human-readable name of the discount service |
| `uk_sta_ymdhm` | Field | Usage start date/time — when the discount promotion begins |
| `uk_end_ymdhm` | Field | Usage end date/time — when the discount promotion expires |
| `dchskm_cd` | Field | Discount item code — fallback code when no discount service is available for a campaign |
| `campaign_sbt_cd` | Field | Campaign subtype code — classifies the type of campaign processing ("2" = discount service) |
| `pcrs_cd` | Field | Provider rate code — the pricing/rate plan code for a provider |
| `pplan_cd` | Field | Plan contract number — the service plan contract number for a provider |
| EO Hikari (eo光) | Business term | NTT West's fiber-to-the-home (FTTH) internet service brand — the primary service being registered |
| Mansion (マンション) | Business term | Apartment building / condominium complex — treated as a collective property for shared fiber installation |
| Frontia | Business term | Fujitsu's customer application framework — the system where this registration flow executes |
| `RES_NET_MANS_CAMPAIGN_LIST` | Key | Network mansion campaign list — list of campaigns for network (Internet) services at a property |
| `RES_TV_MANS_CAMPAIGN_LIST` | Key | TV mansion campaign list — list of campaigns for TV services at a property |
| `RES_NET_MANS_WRIB_SVC_CD` | Key | Network mansion discount service code — discount service code field for network campaigns |
| `RES_TV_MANS_WRIB_SVC_CD` | Key | TV mansion discount service code — discount service code field for TV campaigns |
| `RES_NET_MANS_DCHSKM_CD` | Key | Network mansion discount item code — fallback item code for network campaigns |
| `RES_TV_MANS_DCHSKM_CD` | Key | TV mansion discount item code — fallback item code for TV campaigns |
| CAMPAIGN_SBT_CD = "2" | Constant | Subtype code "2" — indicates this campaign is a discount service type |
| A39 | Constant | Hardcoded network service code used for TV campaigns |
| PA3901 | Constant | Hardcoded network plan code used for TV campaigns |
| execEkk0841b510 | Method | Discount service code lookup — retrieves WribSvcCd, promotion name, and date range for a campaign |
| execEkk1351b501 | Method | Discount item code fallback — retrieves DchskmCd when no discount service is available |
| EKK0841B510CBS | CBS | Discount service information CBS — retrieves discount/welcoming service code and promotion details |
| EKK1351B501CBS | CBS | Discount item lookup CBS — retrieves discount item code for campaigns without service codes |
| CC | Acronym | Common Component — shared business logic component in the Fujitsu Futurity framework |
| workArea | Field | Application work area — in-memory object carrying the state of the current registration process |
