# Business Logic — FUW01403SFLogic.setCustKeiInfo() [126 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW01403SF.FUW01403SFLogic` |
| Layer | Web View Logic (Service/Controller boundary) |
| Module | `FUW01403SF` (Package: `eo.web.webview.FUW01403SF`) |

## 1. Role

### FUW01403SFLogic.setCustKeiInfo()

This method is the **contractor information acquisition and transfer** routine for the `FUW01403SF` web screen. It reads all existing customer (contractor) data and service contract data from the shared form bean (`commonInfoBean`) — which is populated earlier in the session by preceding screens or initialization logic — and maps every field into the service form bean (`serviceFormBean`) so that the current screen has a complete, self-contained view of the customer's address, name, and service contract metadata.

The method performs a **data transformation and copy** operation: it extracts nested bean references from the shared form via `JFUWebCommon.getDataBeanTypeByPath` (SSO info, general contractor info, service contract info, and Kansen target service contract info), reads scalar fields from each using `sendMessageString`, and writes them into the service form bean. It also composes a human-readable full address string by delegating to `JZMCommonUtil.getPtn01`, which joins the address components into a single display-ready string. Finally, it delegates to `setPlanCdInfo` to populate pricing plan codes from the shared context, and extracts service-contract-specific fields (line-internal detail number and sort number) into the service form.

As a **shared utility called by `init()`** (the screen's entry point), this method acts as a data bootstrap — ensuring the service form bean is fully populated before validation, rendering, or business logic execution proceeds. It does not branch by service type; instead, it handles a single unified data-copy path for all contractor information regardless of the underlying service (FTTH, optical phone, etc.).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setCustKeiInfo(commonInfoBean, serviceFormBean)"])
    
    START --> S1["Extract Sub-Beans from commonInfoBean"]
    
    S1 --> S2["SSO_INFO from JFUWebCommon.SSO_INFO"]
    S1 --> S3["GEN_CUST_KEI_INFO from JFUWebCommon.GEN_CUST_KEI_INFO"]
    S1 --> S4["SVC_KEI_INFO from JFUWebCommon.SVC_KEI_INFO"]
    S1 --> S5["KAISEN_TRGT_SVC_KEI_INFO from JFUWebCommon.KAISEN_TRGT_SVC_KEI_INFO"]
    
    S2 --> S6["Get sysid from ssoInfo (SYSID_21)"]
    S2 --> S7["Get svc_kei_no from ssoInfo (SVC_KEI_NO_21)"]
    
    S3 --> S8["Extract Address Fields from genCustKeiInfo"]
    S8 --> S8a["keisha_ad_cd (KEISHA_AD_CD_22)"]
    S8 --> S8b["keisha_pcd (KEISHA_PCD_22)"]
    S8 --> S8c["keisha_state_nm (KEISHA_STATE_NM_22)"]
    S8 --> S8d["keisha_city_nm (KEISHA_CITY_NM_22)"]
    S8 --> S8e["keisha_oaztsu_nm (KEISHA_OAZTSU_NM_22)"]
    S8 --> S8f["keisha_azcho_nm (KEISHA_AZCHO_NM_22)"]
    S8 --> S8g["keisha_bnchigo (KEISHA_BNCHIGO_22)"]
    S8 --> S8h["keisha_adrttm (KEISHA_ADRTTM_22)"]
    S8 --> S8i["keisha_adrrm (KEISHA_ADRRM_22)"]
    
    S8 --> S9["Extract Customer Fields from genCustKeiInfo"]
    S9 --> S9a["custNm (CUST_NM_22)"]
    S9 --> S9b["custKana (CUST_KANA_22)"]
    
    S6 --> S10["Set Fields into serviceFormBean"]
    S7 --> S10
    S8a --> S10
    S8b --> S10
    S8c --> S10
    S8d --> S10
    S8e --> S10
    S8f --> S10
    S8g --> S10
    S8h --> S10
    S8i --> S10
    S9a --> S10
    S9b --> S10
    
    S10 --> S11["SET: SYSID, SVC_KEI_NO, KEISHA_AD_CD, KEISHA_PCD, KEISHA_PCD_1, KEISHA_PCD_2"]
    S10 --> S12["SET: KEISHA_STATE_NM, KEISHA_CITY_NM, KEISHA_OAZTSU_NM, KEISHA_AZCHO_NM, KEISHA_BNCHIGO, KEISHA_ADRTTM, KEISHA_ADRRM"]
    S10 --> S13["SET: KEISHA_NM (custNm), KEISHA_KANA (custKana)"]
    
    S11 --> S14["Get Fields from serviceFormBean for address composition"]
    S12 --> S14
    S13 --> S14
    
    S14 --> S15["CALL JZMCommonUtil.getPtn01(keishaStateNm, keishaCityNm, keishaOaztsuNm, keishaAzchoNm, keishaBnchigo, keishaAdrttm, keishaAdrrm)"]
    S15 --> S16["SET: NTT_KEISHA_ADDRESS_01 = ans"]
    
    S16 --> S17["SET: KEISHA_TYPE_CD = genCustKeiInfo.KEISHA_TYPE_CD_22"]
    
    S17 --> S18["CALL setPlanCdInfo(commonInfoBean, serviceFormBean)"]
    
    S18 --> S19["Extract Service Contract Info from kaisenTrgtSvcKeiInfo"]
    S19 --> S19a["svcKeiKaisenUcwkNo (SVC_KEI_KAISEN_UCWK_NO_25)"]
    
    S19 --> S20["Extract Service Contract Info from svcKeiInfo"]
    S20 --> S20a["seiriNno (SEIRI_NO_23)"]
    
    S19a --> S21["SET: SVC_KEI_KAISEN_UCWK_NO = svcKeiKaisenUcwkNo"]
    S20a --> S21
    S21 --> S22["SET: SEIRI_NO = seiriNno"]
    
    S22 --> END_NODE(["Return"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `commonInfoBean` | `final X31SDataBeanAccess` | The shared form bean containing cross-screen customer data. It holds nested sub-beans for SSO (Single Sign-On) info, general contractor (existing customer) details, service contract details, and Kansen (service change/transfer) target service details. This bean is populated during screen initialization and persists across the user's session for this order flow. |
| 2 | `serviceFormBean` | `final X31SDataBeanAccess` | The service form bean specific to the `FUW01403SF` screen. This is the **target** of the method — all contractor and service contract data is written into this bean so the screen can display and process the customer's existing information. |

**Instance fields read:**
| Field | Type | Business Description |
|-------|------|---------------------|
| `DEBUG_LOG` | `Logger` | Debug logger used to emit start/end trace markers for the method |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JFUWebCommon.getDataBeanTypeByPath` | JFUWebCommon | - | Reads nested sub-bean references (SSO_INFO, GEN_CUST_KEI_INFO, SVC_KEI_INFO, KAISEN_TRGT_SVC_KEI_INFO) from the shared form bean via path-based lookup |
| R | `CommonInfoCFConst.*` | - | - | Reads constant key strings (SYSID_21, SVC_KEI_NO_21, KEISHA_*, CUST_*, etc.) used as property paths for field access |
| R | `X31SDataBeanAccess.sendMessageString` (GET) | - | - | Reads individual string fields from sub-beans (sysid, svc_kei_no, address fields, customer name fields, etc.) |
| SET | `X31SDataBeanAccess.sendMessageString` (SET) | - | - | Writes copied fields into the service form bean (SYSID, SVC_KEI_NO, all address components, customer name fields, KEISHA_TYPE_CD, SVC_KEI_KAISEN_UCWK_NO, SEIRI_NO, NTT_KEISHA_ADDRESS_01) |
| - | `String.substring` (0, 3) | String | - | Splits the 7-digit postal code into front 3 digits (KEISHA_PCD_1) and back 4 digits (KEISHA_PCD_2) for Japanese postal code display |
| R | `JZMCommonUtil.getPtn01` | JZMCommon | - | Composes the full address string from 7 individual address components (state, city, oazutsu, azcho, bnchigo, adrttm, adrrm) — delegates to `JZMAdOutputEdit.getPtn01` |
| CALL | `FUW01403SFLogic.setPlanCdInfo` | FUW01403SFLogic | - | Delegates to internal method to populate pricing plan codes (plan selection, billing plan) from commonInfoBean into serviceFormBean |

**No database-level CRUD (C/R/U/D on DB tables) occurs in this method.** This method is purely a **view-layer data copy and transformation** operation — it reads from and writes to in-memory form beans (`X31SDataBeanAccess`) without touching the database directly.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `FUW01403SFLogic.init()` | `init()` -> `setCustKeiInfo(commonInfoBean, serviceFormBean)` | `sendMessageString` [R], `sendMessageString` [SET], `getPtn01` [R], `setPlanCdInfo` [CALL] |

**Caller Details:**
- **`FUW01403SFLogic.init()`** — This is the screen initialization method in the same class. It is called as the entry point when the `FUW01403SF` screen loads. `init()` creates the shared and service form beans, populates `commonInfoBean` with existing customer data from the session or prior screens, then calls `setCustKeiInfo()` to bootstrap the service form with contractor details.

**Terminal operations reached from this method:**
- `sendMessageString` (GET) — 16 reads from `commonInfoBean` sub-beans
- `sendMessageString` (SET) — 18 writes to `serviceFormBean`
- `substring` — 1 postal code split operation
- `JZMCommonUtil.getPtn01` (R) — Address composition utility
- `setPlanCdInfo` (CALL) — Plan code delegation

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Extract Sub-Beans from commonInfoBean (L918–L926)

> Retrieves four nested bean references from the shared form bean using path-based lookups. Each path is defined as a constant in `JFUWebCommon`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `ssoInfo = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.SSO_INFO)` // SSO (Single Sign-On) info sub-bean [path constant: `SSO_INFO`] |
| 2 | SET | `genCustKeiInfo = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.GEN_CUST_KEI_INFO)` // General Contractor (Existing Customer) Info sub-bean [path constant: `GEN_CUST_KEI_INFO`] |
| 3 | SET | `svcKeiInfo = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.SVC_KEI_INFO)` // Service Contract Info sub-bean [path constant: `SVC_KEI_INFO`] |
| 4 | SET | `kaisenTrgtSvcKeiInfo = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.KAISEN_TRGT_SVC_KEI_INFO)` // Kansen (Service Change/Transfer) Target Service Contract Info sub-bean [path constant: `KAISEN_TRGT_SVC_KEI_INFO`] |

**Block 2** — [SET] Extract SSO Info Fields (L928–L931)

> Reads system identifier and service contract number from the SSO info sub-bean. These identify the current session and the existing service contract.

| # | Type | Code |
|---|------|------|
| 1 | SET | `sysid = ssoInfo.sendMessageString(CommonInfoCFConst.SYSID_21, GET)` // [-> `SYSID_21 = "SYSID"`] — System identifier for the current SSO session |
| 2 | SET | `svc_kei_no = ssoInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, GET)` // [-> `SVC_KEI_NO_21 = "サービス契約番号"`] — Existing service contract number |

**Block 3** — [SET] Extract Contractor Address Fields (L934–L947)

> Reads nine address components from the general contractor info sub-bean. These fields correspond to a Japanese address (prefecture, city, district, block, building).

| # | Type | Code |
|---|------|------|
| 1 | SET | `keisha_ad_cd = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_AD_CD_22, GET)` // [-> `KEISHA_AD_CD_22 = "契約者住所コード"`] — Contractor address code |
| 2 | SET | `keisha_pcd = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_PCD_22, GET)` // [-> `KEISHA_PCD_22 = "契約者郵便番号"`] — Contractor postal code (7 digits) |
| 3 | SET | `keisha_state_nm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_STATE_NM_22, GET)` // [-> `KEISHA_STATE_NM_22 = "契約者都道府県名"`] — Contractor prefecture name |
| 4 | SET | `keisha_city_nm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_CITY_NM_22, GET)` // [-> `KEISHA_CITY_NM_22 = "契約者市区町村名"`] — Contractor city/town/village name |
| 5 | SET | `keisha_oaztsu_nm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_OAZTSU_NM_22, GET)` // [-> `KEISHA_OAZTSU_NM_22 = "契約者大字通称名"`] — Contractor large district/commune name |
| 6 | SET | `keisha_azcho_nm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_AZCHO_NM_22, GET)` // [-> `KEISHA_AZCHO_NM_22 = "契約者字丁目名"`] — Contractor block/chome name |
| 7 | SET | `keisha_bnchigo = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_BNCHIGO_22, GET)` // [-> `KEISHA_BNCHIGO_22 = "契約者番地番号"`] — Contractor lot/block number |
| 8 | SET | `keisha_adrttm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_ADRTTM_22, GET)` // [-> `KEISHA_ADRTTM_22 = "契約者住所補記・建物名"`] — Contractor address supplement/building name |
| 9 | SET | `keisha_adrrm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_ADRRM_22, GET)` // [-> `KEISHA_ADRRM_22 = "契約者住所補記・部屋番号"`] — Contractor address supplement/room number |

**Block 4** — [SET] Extract Customer Name Fields (L950–L956)

> ANK-2535-00-00 feature: Reads customer name and phonetic name (kana) from the general contractor info for service change/transfer sales support (STEP2).

| # | Type | Code |
|---|------|------|
| 1 | SET | `custNm = genCustKeiInfo.sendMessageString(CommonInfoCFConst.CUST_NM_22, GET)` // [-> `CUST_NM_22 = "契約者顧客契約情報.お客様名"`] — Customer name (existing contractor name) |
| 2 | SET | `custKana = genCustKeiInfo.sendMessageString(CommonInfoCFConst.CUST_KANA_22, GET)` // [-> `CUST_KANA_22 = "契約者顧客契約情報.お客様カナ名"`] — Customer phonetic name (kana reading) |

**Block 5** — [SET] Write Basic Fields to serviceFormBean (L960–L963)

> Copies SYSID and service contract number from extracted variables to the service form bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.SYSID, SET, sysid)` // [-> `SYSID = "SYSID"`] |
| 2 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.SVC_KEI_NO, SET, svc_kei_no)` // [-> `SVC_KEI_NO = "サービス契約番号"`] |
| 3 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_AD_CD, SET, keisha_ad_cd)` // [-> `KEISHA_AD_CD = "契約者住所コード"`] |
| 4 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_PCD, SET, keisha_pcd)` // [-> `KEISHA_PCD = "契約者郵便番号"`] |

**Block 6** — [SET] Write Postal Code Split Fields (L964–L966)

> Japanese postal codes are 7 digits. The code is split into front (3) and back (4) parts for display/processing purposes.

| # | Type | Code |
|---|------|------|
| 1 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_PCD_1, SET, keisha_pcd.substring(0, 3))` // [-> `KEISHA_PCD_1 = "契約者郵便番号（前）"`] — Postal code front 3 digits |
| 2 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_PCD_2, SET, keisha_pcd.substring(3))` // [-> `KEISHA_PCD_2 = "契約者郵便番号（後）"`] — Postal code back 4 digits |

**Block 7** — [SET] Write Address Fields to serviceFormBean (L967–L976)

> Writes all nine address components from extracted variables to the service form bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_STATE_NM, SET, keisha_state_nm)` // [-> `KEISHA_STATE_NM = "契約者都道府県名"`] |
| 2 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_CITY_NM, SET, keisha_city_nm)` // [-> `KEISHA_CITY_NM = "契約者市区町村名"`] |
| 3 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_OAZTSU_NM, SET, keisha_oaztsu_nm)` // [-> `KEISHA_OAZTSU_NM = "契約者大字通称名"`] |
| 4 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_AZCHO_NM, SET, keisha_azcho_nm)` // [-> `KEISHA_AZCHO_NM = "契約者字丁目名"`] |
| 5 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_BNCHIGO, SET, keisha_bnchigo)` // [-> `KEISHA_BNCHIGO = "契約者番地番号"`] |
| 6 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_ADRTTM, SET, keisha_adrttm)` // [-> `KEISHA_ADRTTM = "契約者住所補記・建物名"`] |
| 7 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_ADRRM, SET, keisha_adrrm)` // [-> `KEISHA_ADRRM = "契約者住所補記・部屋番号"`] |

**Block 8** — [SET] Write Customer Name Fields (L959–L960, ANK-2535 feature)

> Writes the extracted customer name and kana name to the service form bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_NM, SET, custNm)` // [-> `KEISHA_NM = "契約者"`] — Contractor name (customer name) |
| 2 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_KANA, SET, custKana)` // [-> `KEISHA_KANA = "契約者かな"`] — Contractor phonetic name (kana) |

**Block 9** — [SET] Read Back Fields for Address Composition (L981–L988)

> Reads the just-written address fields back from the service form bean to pass as parameters to the address composition utility. This is necessary because `JZMCommonUtil.getPtn01` requires individual components as method parameters.

| # | Type | Code |
|---|------|------|
| 1 | SET | `keishaStateNm = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_STATE_NM, GET)` // [-> `KEISHA_STATE_NM = "契約者都道府県名"`] |
| 2 | SET | `keishaCityNm = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_CITY_NM, GET)` // [-> `KEISHA_CITY_NM = "契約者市区町村名"`] |
| 3 | SET | `keishaOaztsuNm = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_OAZTSU_NM, GET)` // [-> `KEISHA_OAZTSU_NM = "契約者大字通称名"`] |
| 4 | SET | `keishaAzchoNm = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_AZCHO_NM, GET)` // [-> `KEISHA_AZCHO_NM = "契約者字丁目名"`] |
| 5 | SET | `keishaBnchigo = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_BNCHIGO, GET)` // [-> `KEISHA_BNCHIGO = "契約者番地番号"`] |
| 6 | SET | `keishaAdrttm = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_ADRTTM, GET)` // [-> `KEISHA_ADRTTM = "契約者住所補記・建物名"`] |
| 7 | SET | `keishaAdrrm = serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_ADRRM, GET)` // [-> `KEISHA_ADRRM = "契約者住所補記・部屋番号"`] |

**Block 10** — [CALL] Compose Full Address String (L991–L992)

> Delegates to `JZMCommonUtil.getPtn01` to join all address components into a single human-readable string. The utility (delegating to `JZMAdOutputEdit.getPtn01`) handles null-safe concatenation with appropriate separators (e.g., spaces or commas between components). This composed address is stored for display on the screen as a single field.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `ans = JZMCommonUtil.getPtn01(keishaStateNm, keishaCityNm, keishaOaztsuNm, keishaAzchoNm, keishaBnchigo, keishaAdrttm, keishaAdrrm)` // Composes full address from 7 components |
| 2 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.NTT_KEISHA_ADDRESS_01, SET, ans)` // [-> `NTT_KEISHA_ADDRESS_01 = "NTT契約者住所_01"`] — Full concatenated contractor address for screen display |

**Block 11** — [SET] Write Contractor Type Code (L995–L96)

> Reads the contractor type code (e.g., individual vs. corporate) from the general contractor info and sets it into the service form bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.KEISHA_TYPE_CD, SET, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_TYPE_CD_22, GET))` // [-> `KEISHA_TYPE_CD_22 = "契約者タイプコード"`] — Contractor type classification |

**Block 12** — [CALL] Delegate to Plan Code Setup (L999)

> Delegates to `setPlanCdInfo()` to populate pricing plan codes. This is a separate method within the same class that handles the complex logic of determining and setting plan codes (e.g., FTTH plan, optional service plan) based on shared bean data.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setPlanCdInfo(commonInfoBean, serviceFormBean)` // Internal delegation — populates pricing plan codes into serviceFormBean |

**Block 13** — [SET] Extract Service Contract Fields (L1004–L1011)

> Reads service contract-specific fields from the Kansen target service contract info and service contract info sub-beans, then writes them into the service form bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiKaisenUcwkNo = kaisenTrgtSvcKeiInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_25, GET)` // [-> `SVC_KEI_KAISEN_UCWK_NO_25 = "サービス契約回線内訳番号"`] — Service contract line detail number (for Kansen/target service) |
| 2 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.SVC_KEI_KAISEN_UCWK_NO, SET, svcKeiKaisenUcwkNo)` // [-> `SVC_KEI_KAISEN_UCWK_NO = "サービス契約回線内訳番号"`] |
| 3 | SET | `seiriNno = svcKeiInfo.sendMessageString(CommonInfoCFConst.SEIRI_NO_23, GET)` // [-> `SEIRI_NO_23 = "整理番号"`] — Sort/sequence number for the service contract |
| 4 | SET | `serviceFormBean.sendMessageString(FUW01403SFConst.SEIRI_NO, SET, seiriNno)` // [-> `SEIRI_NO = "整理番号"`] |

**Block 14** — [RETURN] End Method (L1014–L1015)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `DEBUG_LOG.info("----- FUW01403 End setCustKeiInfo -----")` // End trace logging |
| 2 | RETURN | `return;` // void method — exits |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `keisha` | Field prefix | 契約者 — Contractor (customer holding the service contract) |
| `svc_kei` | Field prefix | サービス契約 — Service contract (the telecom service agreement) |
| `kaissen` | Field prefix | 回線 — Line/Route (telecom connection line) |
| `ucwk_no` | Field suffix | 作業番号 — Work/operation number (internal processing sequence ID) |
| `seiri_no` | Field | 整理番号 — Sort/sequence number (ordering/processing number for the service contract) |
| `keisha_type_cd` | Field | 契約者タイプコード — Contractor type code (e.g., individual vs. corporate) |
| `keisha_ad_cd` | Field | 契約者住所コード — Contractor address code (lookup key for the registered address) |
| `keisha_pcd` | Field | 契約者郵便番号 — Contractor postal code (Japanese 7-digit code) |
| `keisha_state_nm` | Field | 契約者都道府県名 — Contractor prefecture name (e.g., Tokyo, Osaka) |
| `keisha_city_nm` | Field | 契約者市区町村名 — Contractor city/town/village name |
| `keisha_oaztsu_nm` | Field | 契約者大字通称名 — Contractor large district/commune name (Japanese administrative subdivision) |
| `keisha_azcho_nm` | Field | 契約者字丁目名 — Contractor block/chome name (Japanese street block designation) |
| `keisha_bnchigo` | Field | 契約者番地番号 — Contractor lot/block number (Japanese street number) |
| `keisha_adrttm` | Field | 契約者住所補記・建物名 — Contractor address supplement / building name |
| `keisha_adrrm` | Field | 契約者住所補記・部屋番号 — Contractor address supplement / room number |
| `cust_nm` | Field | お客様名 — Customer name (customer's registered name) |
| `cust_kana` | Field | お客様カナ名 — Customer phonetic name (kana reading of the customer name) |
| `kaisen_trgt_svc_kei_info` | Field | 回線変更対象サービス契約情報 — Service contract info for the target of a service change/transfer operation |
| `SSO_INFO` | Field path | Single Sign-On information (authentication context including SYSID, authentication ID, etc.) |
| `GEN_CUST_KEI_INFO` | Field path | 一般顧客契約情報 / Existing Customer Contract Info — the stored contract data for the current customer |
| `SYSID` | Field | システムID — System identifier for the current SSO session |
| `NTT_KEISHA_ADDRESS_01` | Field | NTT contracted address field 01 — Full concatenated address string for NTT-style display |
| ANK-2535-00-00 | Change ticket | Service change/transfer full-channel sales support (STEP2) — Adds customer name and kana fields to the contractor data |
| `X31SDataBeanAccess` | Class | Shared form bean access class — provides path-based get/set operations for nested form data |
| `JFUWebCommon` | Class | Web common utility class — provides shared path constants and bean navigation utilities |
| `JZMCommonUtil` | Class | Japanese address utility class — provides address composition methods like `getPtn01` |
| `SVC_KEI_KAISEN_UCWK_NO` | Field | Service contract line detail number — internal sequence ID identifying a specific line within a service contract |
| KEISHA_PCD_1 / KEISHA_PCD_2 | Field | Contractor postal code (front/back) — split 7-digit postal code into 3-digit prefix and 4-digit suffix |
| `FUW01403SF` | Module | Web screen module — the screen handling contractor information display for the order flow |
| `setPlanCdInfo` | Method | Pricing plan code setup — determines and sets billing/plan codes (plan selection) from shared bean context |
