# Business Logic - KKW04202SFLogic.actionFix() [1002 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW04202SF.KKW04202SFLogic` |
| Layer | Controller / Web Business Logic (Screen Logic) |
| Module | `KKW04202SF` (Package: `eo.web.webview.KKW04202SF`) |

## 1. Role

### KKW04202SFLogic.actionFix()

`actionFix` is the confirm-and-register entry point for the Address Change Registration feature (住所変更登録機能) within the eo Customer Core System operated by K-Opticom, a Japanese telecommunications provider. It serves as the terminal business-logic method invoked when a customer operations operator clicks the "confirm" (確定) button on the address change screen. The method orchestrates the entire lifecycle of address change: it first runs a pre-registration validation service (KKSV0698), then branches into one of several sub-workflows depending on the transaction mode and registration phase, invokes the corresponding downstream service, and finally triggers a completion-registration batch (KKSV0325) when the operator performs manual main registration.

The method handles four broad service categories for address change processing:

1. **Temporary Registration (KKSV0664)** - For input-in-progress cases where the operator saves data without final confirmation. This is the first phase of a two-step registration workflow.

2. **Address Correction (KKSV0725)** - For the second phase where the operator reviews and confirms input content. Optionally invokes Number Temporary Return Correction (KKSV0868) when a BMP (Furo-ichi temporary return) correction is needed. This extensive workflow processes all service types (Network, Telephone, TV) including work order updates, service agreement confirmations, contract modifications, and equipment registration.

3. **Main Registration (KKSV0674)** - The core address change workflow when the operator performs manual main registration directly. It processes all three service domains (eo Light Network, eo Light Telephone, eo Light TV) with comprehensive service contract management, equipment handling, work order registration, pricing changes, delivery registration, and workflow updates.

4. **Completion Registration (KKSV0325)** - Finalizes the address change when the ad-mode manual registration path is triggered. Creates an electronic file attachment, calls the completion service, and integrates with the AxM (administrative system) if needed.

The method implements a **routing/dispatch pattern** based on the `ido_div` and `addPtn` fields. It uses a **mapper delegation pattern** where each sub-service is invoked through a dedicated DB mapper. The method acts as the central coordinator for the entire address change confirm process, called by multiple screen entry points during the address change workflow.

Conditional branches:
- **Branch on `ido_div = "00019"` (Transfer)**: Handles address transfer registration with sub-branches on `addPtn` (1=input-in-progress, 2=input-confirmed). Includes validation for construction work requests and smart balance discount status checks.
- **Branch on `ido_div = "00020"` (Transfer+Registration)**: Handles the combined transfer and main registration path with additional validation checks, electronic file creation, and completion registration invocation.
- **Else branch**: Throws `IllegalArgumentException` for unrecognized `ido_div` values.
