# Business Logic — KKW00810SFLogic.action_Fix() [21 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00810SF.KKW00810SFLogic` |
| Layer | Controller / Web Logic (Web-tier business logic within the KK Web application) |
| Module | `KKW00810SF` (Package: `eo.web.webview.KKW00810SF`) |

## 1. Role

### KKW00810SFLogic.action_Fix()

This method serves as the **determination (confirm/finalize) handler** for the "Fixed Global IP Address Information Registration Confirmation Screen" (KKW00811). It is invoked when the user clicks the **determine button** (確定ボタン) on the confirmation screen, triggering the actual registration of fixed global IP address option settings. The method implements a **delegation pattern**: it first delegates the core registration logic to `doRegistFixedIPAddressOption(func_code)`, which orchestrates a multi-step service contract mapping process by constructing a DataBean-BP (Bean Processing) mapping chain through the `KKSV0023_KKSV0023OPDBMapper` — this chain calls various SC (Service Component) methods such as `setKKSV002304SC`, `setKKSV002305SC`, `setKKSV002306SC`, `setKKSV002307SC`, `setJKKGlobalIpAddCfmCC`, and others, each responsible for a specific stage of the service contract registration workflow (e.g., order content acceptance registration, ISP optional service contract registration, fixed IP address billing, and global IP address confirmation CC). After registration completes, it navigates the user to the next screen (KKW00812) by setting navigation properties on the shared DataBean, displays a confirmation message ("Fixed Global IP Address Registration" — 固定グローバルIPアドレスの登録), and logs the full DataBean state for audit/troubleshooting purposes. This method is the **terminal action handler** for a specific branch of the fixed IP address option registration flow, acting as a bridge between the web presentation layer and the backend service contract registration pipeline.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["action_Fix() Start"])
    STEP1["Call doRegistFixedIPAddressOption(FUNC_CD_1)
Register Fixed Global IP Address Option Service"]
    STEP2["Get commonInfoBean via super.getCommonInfoBean()"]
    STEP3["Set NEXT_SCREEN_ID = KKW00812
(Confirmation/Completion Screen ID)"]
    STEP4["Set NEXT_SCREEN_NAME = KKW00812 Name"]
    STEP5["Display Info Message:
Fixed Global IP Address Registration"]
    STEP6["Dump DataBean to debug log"]
    END_NODE(["Return true
(Screen transition to KKW00812)"])

    START --> STEP1
    STEP1 --> STEP2
    STEP2 --> STEP3
    STEP3 --> STEP4
    STEP4 --> STEP5
    STEP5 --> STEP6
    STEP6 --> END_NODE
```

**Processing summary:**
1. **Service Registration Delegation** — Calls `doRegistFixedIPAddressOption(JPCModelConstant.FUNC_CD_1)` where `FUNC_CD_1` indicates a new registration operation code (`"1"`). This method (lines 418–540+) configures the service form bean and invokes a full DataBean-BP mapping chain through `KKSV0023_KKSV0023OPDBMapper`, which in turn calls numerous SC (Service Component) methods for ISP optional service contract registration, fixed IP address billing, and other related operations.
2. **Navigation Setup** — Retrieves the shared DataBean access object to prepare screen transition data.
3. **Screen Transition Configuration** — Sets the next screen ID (`KKW00812`) and screen name on the shared bean, enabling the framework to perform an automatic screen transition after this method returns.
4. **Confirmation Message** — Displays an info-level confirmation message to the user indicating that the fixed global IP address registration has been completed.
5. **Audit Logging** — Dumps the current DataBean state to the debug log for troubleshooting and audit purposes.
6. **Completion** — Returns `true` to signal successful processing and trigger the screen transition.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. All input data is retrieved from internal state (service form bean and shared info bean) that was populated during earlier screen processing stages. |
| 1 | Internal: `svcFormBean` | `X31SDataBeanAccess` | Service form bean obtained via `super.getServiceFormBean()` — contains all form data for the fixed global IP address registration (IP address, netmask, usage start date, service detail work number, etc.). Set internally by the delegated `doRegistFixedIPAddressOption` method. |
| 2 | Internal: `commonInfoBean` | `X31SDataBeanAccess` | Shared info bean obtained via `super.getCommonInfoBean()` — carries cross-screen navigation data (next screen ID, next screen name) used by the web framework for screen transitions. |
| 3 | Internal: `paramMap` | `HashMap<String, Object>` | Parameter map within `doRegistFixedIPAddressOption` — holds the use case ID (`SVC_ID_KKSV0023`) and operation ID (`OP_ID_KKSV0023OP`) that route the mapping chain to the correct service processing path. |
| 4 | Internal: `func_code` | `String` | Function code passed as `"1"` (`JPCModelConstant.FUNC_CD_1`) — indicates a new registration operation (vs. update/cancel). Used throughout the mapping chain to determine which SC methods to invoke. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `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` |
| - | `OneStopDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Calls `sendMessageString` in `OneStopDataBeanAccess` |
| - | `KKW00810SFLogic.doRegistFixedIPAddressOption` | KKW00810SFLogic | - | Calls `doRegistFixedIPAddressOption` in `KKW00810SFLogic` |

### Full CRUD analysis including services invoked by `doRegistFixedIPAddressOption`:

The `action_Fix` method directly calls `doRegistFixedIPAddressOption(FUNC_CD_1)`, which orchestrates a comprehensive service contract registration pipeline through the `KKSV0023_KKSV0023OPDBMapper`. The mapper invokes the following SC/CBS methods (all with `func_code = FUNC_CD_1` for registration mode):

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002304SC` | KKSV002304SC | KK_T_ODR_HAKKO_JOKEN (Order Acceptance Registration) | Order content acceptance registration — registers the confirmed order details into the order acceptance table |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002305SC` | KKSV002305SC | KK_T_OPT_SVC_CONTRACT (Optional Service Contract) | Optional service contract (ISP) registration — registers the ISP optional service contract line |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002306SC` | KKSV002306SC | KK_T_OPT_SVC_CONTRACT_LINK (Optional Service Contract Link) | Optional service contract (ISP) link registration — links the ISP contract to the main service contract |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002307SC` | KKSV002307SC | KK_T_OPT_SVC_START (Optional Service Start) | Optional service contract start date registration — sets the start date for the ISP optional service |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002308SC` | KKSV002308SC | KK_T_ORDER_DETAIL (Order Detail) | Order detail confirmation / follow-up work request registration — registers order detail confirmation and delegates follow-up work |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002201CC` | KKSV002201CC | KK_T_BILL_FIXED_IP (Fixed IP Address Billing) | Fixed IP address billing registration — sets up billing for the fixed global IP address |
| C | `KKSV0023_KKSV0023OPDBMapper.setJKKGlobalIpAddCfmCC` | JKKGlobalIpAddCfmCC | KK_T_FIX_IP_ADDRESS (Fixed IP Address) | Global IP address confirmation CC — confirms and registers the fixed global IP address information |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002310SC` | KKSV002310SC | KK_T_PROGRESS_INFO (Progress Information) | Progress information registration — registers the service contract progress status |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002311SC` | KKSV002311SC | KK_T_ORDER_ISSUE_COND (Order Issue Conditions) | Order issuance condition registration — registers conditions for order document issuance |
| C | `KKSV0023_KKSV0023OPDBMapper.setKKSV002312SC` | KKSV002312SC | KK_T_ORDER_WORK (Order Work) | Order information creation work registration — registers work items for order document creation |
| - | `KKW00810SFLogic.doRegistFixedIPAddressOption` | KKW00810SFLogic | - | Delegates the full fixed IP address option registration pipeline (includes configServiceFormBean prep) |
| - | `JCCWebCommon.setMessageInfo` | JCCWebCommon | - | Displays confirmation message to user (info level, EKB4390__I) |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0023 (Fixed Global IP Address Option Registration) | KKSV0023 screen action handler -> KKW00810SFLogic.action_Fix | `setJKKGlobalIpAddCfmCC [C] KK_T_FIX_IP_ADDRESS`, `setKKSV002304SC [C] KK_T_ODR_HAKKO_JOKEN`, `setKKSV002305SC [C] KK_T_OPT_SVC_CONTRACT`, `setKKSV002306SC [C] KK_T_OPT_SVC_CONTRACT_LINK`, `setKKSV002307SC [C] KK_T_OPT_SVC_START`, `setKKSV002308SC [C] KK_T_ORDER_DETAIL`, `setKKSV002201CC [C] KK_T_BILL_FIXED_IP` |

**Note:** The `KKW00810SFLogic.action_Fix()` method is invoked by the screen logic of `KKSV0023` (Fixed Global IP Address Option Registration Screen). The mapper `KKSV0023_KKSV0023OPDBMapper` references `KKW00810SFConst` constants and the SVC ID, confirming the integration between KKSV0023 and KKW00810SF. This method is the terminal action handler for the confirmation screen (KKW00811 / KKW00810SF) — it is called when the user clicks the determine/finalize button, committing the fixed global IP address registration.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF/NONE] Top-level sequential processing (L395)

This is a linear block with no conditional branches. All operations execute sequentially in order.

| # | Type | Code | Business Description |
|---|------|------|---------------------|
| 1 | CALL | `doRegistFixedIPAddressOption(JPCModelConstant.FUNC_CD_1)` | Invokes the fixed global IP address option registration service. Passes `FUNC_CD_1 = "1"` (registration mode). This delegates to a comprehensive mapping chain that registers order acceptance, ISP optional service contracts, fixed IP billing, and other related entities. [-> JPCModelConstant.FUNC_CD_1="1"] |
| 2 | CALL | `commonInfoBean = super.getCommonInfoBean()` | Retrieves the shared DataBean access object used for cross-screen navigation data exchange. |
| 3 | SET | `commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW00812)` | Sets the next screen ID to KKW00812 (the confirmation/completion screen) on the shared bean, enabling automatic screen transition by the web framework. [-> CommonInfoCFConst.NEXT_SCREEN_ID="NEXT_SCREEN_ID"], [-> JKKScreenConst.SCREEN_ID_KKW00812="KKW00812"] |
| 4 | SET | `commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW00812)` | Sets the next screen name (human-readable label for KKW00812) on the shared bean. [-> CommonInfoCFConst.NEXT_SCREEN_NAME="NEXT_SCREEN_NAME"], [-> JKKScreenConst.SCREEN_NAME_KKW00812] |
| 5 | SET | `String[] str = { "固定グローバルIPアドレスの登録" }` | Creates a message parameter array containing the confirmation message "Fixed Global IP Address Registration" (固定グローバルIPアドレスの登録). |
| 6 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB4390__I, str)` | Displays an info-level confirmation message to the user via the web framework's message handling. [-> JPCOnlineMessageConstant.EKB4390__I="EKB4390__I"] |
| 7 | EXEC | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null)` | Dumps the current DataBean state to the debug log for audit/troubleshooting. [-> JSYwebLog.DataBean_Dump="DataBean_Dump"] |
| 8 | RETURN | `return true;` | Returns `true` to signal successful processing and trigger the framework's screen transition to KKW00812. |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SVC_ID_KKSV0023` | Constant | Use Case ID for KKSV0023 — the Fixed Global IP Address Option Registration screen's use case identifier |
| `OP_ID_KKSV0023OP` | Constant | Operation ID for KKSV0023 — identifies the specific operation within the use case |
| `FUNC_CD_1` | Constant | Function code `"1"` — indicates a new registration/creation operation mode |
| `KKW00810SF` | Module | Fixed Global IP Address Information Registration Confirmation Screen module — handles the confirmation screen (KKW00811) for fixed IP address option registration |
| `KKW00812` | Screen | Next screen after determination — likely a completion/confirmation receipt screen |
| `KKSV0023` | Screen | Fixed Global IP Address Option Registration Service Calling Screen — the originating screen that triggers the full registration pipeline |
| `KOTEI_IP_AD` | Field | Fixed IP Address — the configured static/global IP address value |
| `FIXIPAD_HRADSI_LIST` | Field | Fixed IP Address Transmission List — list of IP addresses being transmitted/registered |
| `NETMASK` / `SUBNET_MASK` | Field | Subnet mask — network mask associated with the fixed IP address |
| `USE_STAYMD_*` | Field | Usage start date components (year/month/day) — when the fixed IP address service becomes active |
| `svc_kei_ucwk_no` | Field | Service detail work number — internal tracking ID for service contract line items |
| `SVC_KEI_KAISEN_UCWK_NO_02` | Field | Service detail previous work number — tracks changes from prior service configuration |
| `KK_T_ODR_HAKKO_JOKEN` | Table | Order Acceptance Registration Table — stores order content acceptance details |
| `KK_T_OPT_SVC_CONTRACT` | Table | Optional Service Contract Table — stores ISP optional service contract information |
| `KK_T_OPT_SVC_CONTRACT_LINK` | Table | Optional Service Contract Link Table — links ISP optional service to main contract |
| `KK_T_OPT_SVC_START` | Table | Optional Service Start Date Table — stores activation dates for optional services |
| `KK_T_ORDER_DETAIL` | Table | Order Detail Table — stores order detail confirmation and follow-up work data |
| `KK_T_BILL_FIXED_IP` | Table | Fixed IP Address Billing Table — stores billing records for fixed IP address services |
| `KK_T_FIX_IP_ADDRESS` | Table | Fixed IP Address Table — stores confirmed fixed global IP address information |
| `KK_T_PROGRESS_INFO` | Table | Progress Information Table — stores service contract processing progress status |
| `KK_T_ORDER_ISSUE_COND` | Table | Order Issuance Condition Table — stores conditions for order document issuance |
| `KK_T_ORDER_WORK` | Table | Order Work Table — stores work items for order document creation |
| DataBean-BP | Pattern | DataBean-Bean Processing — a mapping pattern that converts DataBean objects into input/output maps for SC (Service Component) calls |
| DataBean | Pattern | Data Access Object pattern — bean objects that carry data between presentation, logic, and service layers |
| SC | Acronym | Service Component — backend service modules that handle database CRUD operations (e.g., `EKKxxxxSC`) |
| CC | Acronym | Common Component — shared utility/logic components used across screens (e.g., `JKKGlobalIpAddCfmCC`) |
| CBS | Acronym | Common Business Service — shared business service components |
| Mapper | Pattern | DBMapper — DataBean mapping classes that convert DataBean data into SC call parameters |
| FUNC_CD | Acronym | Function Code — operation mode indicator (1=new registration, 2=update, etc.) |
| 確定ボタン | Japanese UI term | Determine/Finalize button — the button that confirms registration and triggers the action_Fix method |
| 固定グローバルIPアドレス | Japanese domain term | Fixed Global IP Address — a static public IP address assigned to a customer's connection |
