---
title: Business Logic — KKW02410SFLogic.actionFin()
description: Finalization handler for the Femto Cell Option Update screen — sets next screen ID and logs the DataBean state.
file: source/koptWebB/src/eo/web/webview/KKW02410SF/KKW02410SFLogic.java
lines: 548–563
loc: 16
---

# Business Logic — KKW02410SFLogic.actionFin() [16 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW02410SF.KKW02410SFLogic` |
| Layer | Controller / Screen Logic (webview package) |
| Module | `KKW02410SF` (Package: `eo.web.webview.KKW02410SF`) |

## 1. Role

### KKW02410SFLogic.actionFin()

This method implements the **finalization processing** (完了処理) step of the Femto Cell Option Update screen workflow. After the user has completed their interaction with the Femto Cell service option update form — which allows them to subscribe to or cancel (discontinue/restore) Femto Cell service — this method prepares the screen for navigation back to the caller screen.

The method follows a **screen finalization pattern** common across the webview logic layer: it retrieves the shared form bean, sets the next screen identifier so the framework knows where to route the user upon completion, and emits a DataBean dump to the diagnostic log. It does not perform any business data reads, writes, or updates — all CRUD operations occur earlier in the workflow (in `actionInit`, `executeInitSvc`, and related methods).

This method acts as a **shared lifecycle hook** within the screen logic template. Every screen logic class extending `JCCWebBusinessLogic` defines an `actionFin()` method, and callers invoke it to cleanly conclude the screen session and trigger screen transition. The method always returns `true` to signal normal completion to the caller.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["actionFin()"])
    STEP1["Retrieve X31SDataBeanAccess commoninfoBean from super.getCommonInfoBean()"]
    STEP2["Set NEXT_SCREEN_ID in commoninfoBean with JCCWebCommon.getScreenId(this)"]
    STEP3["Emit DataBean dump to diagnostic log via JSYwebLog.println()"]
    END_RETURN["Return true"]
    START --> STEP1 --> STEP2 --> STEP3 --> END_RETURN
```

**Processing overview:**

1. **Retrieve the common form bean** (L553): Obtain the shared `X31SDataBeanAccess` object that holds screen-wide state via `super.getCommonInfoBean()`.

2. **Set the next screen ID** (L556–557): Configure the shared bean's `NEXT_SCREEN_ID` field so the navigation framework routes the user back to the originating screen. The target screen ID is fetched from `JCCWebCommon.getScreenId(this)`, which determines the current screen's identifier from the request context. The constant `DATABEAN_SET_VALUE` is passed as the operation mode flag to indicate this is a write (set) operation on the DataBean.

3. **Log the DataBean dump** (L560): Emit a diagnostic log entry containing the full serialized state of the current screen's DataBean, using `JSYwebLog.println()` with the `DataBean_Dump` log level. This aids debugging by capturing the complete bean state before screen teardown.

4. **Return true** (L562): Signal normal, uneventful completion. No exceptions are caught or handled locally — any thrown exception propagates to the caller.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. All context is derived from instance state (the `KKW02410SFLogic` instance extending `JCCWebBusinessLogic`) and the request scope. |

**Instance fields / external state read:**

| Source | Description |
|--------|-------------|
| `super.getCommonInfoBean()` (from `JCCWebBusinessLogic`) | Returns the shared form bean (`X31SDataBeanAccess`) containing screen-wide state including the next screen ID and other cross-screen context. |
| `this` (pass as argument to `JCCWebCommon.getScreenId()`) | The current screen logic instance; `getScreenId` extracts the originating screen ID from the request/session context associated with this screen. |
| `dumpDatabean()` (method inherited from base class) | Serializes the current DataBean state for diagnostic logging purposes. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCWebCommon.getScreenId` | JCCWebCommon | - | Calls `getScreenId` in `JCCWebCommon` — reads the current screen identifier from the request context to determine the navigation destination. |
| - | `X31SDataBeanAccess.sendMessageString` | OneStopDataBeanAccess | - | Calls `sendMessageString` on the shared common info bean to set the `NEXT_SCREEN_ID` value. This is an in-memory bean operation, not a database access. |
| - | `JSYwebLog.println` | JSYwebLog | - | Calls `println` for diagnostic logging with the `DataBean_Dump` log level. Writes to the application log file. |

**Notes:**
- This method performs **no database operations** (no C/R/U/D). It is a pure screen finalization / navigation preparation routine.
- The `sendMessageString` call manipulates an in-memory `X31SDataBeanAccess` object — no SC/CBS service component or data persistence layer is invoked.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Screen:KKSV0579 | `KKSV0579Controller → KKW02410SFLogic.actionInit → ... → actionFin` | `getScreenId` (R) |

**Caller notes:**
- `actionFin()` follows the standard screen lifecycle pattern — it is invoked by the framework's controller layer after the main processing phase of screen `KKSV0579` (Femto Cell Option Update) completes.
- The screen `KKSV0579` navigates to `KKW02410SF` for Femto Cell option updates. Upon completion, the framework calls `actionFin()` to prepare the return navigation.
- No direct callers outside the `KKW02410SFLogic` class were found; the call chain is driven by the screen controller/lifecycle framework.

## 6. Per-Branch Detail Blocks

> This method contains no conditional branches (if/else, switch, loops). The control flow is strictly linear.

**Block 1** — [EXEC] `super.getCommonInfoBean()` (L553)

> Retrieve the shared common form bean from the parent class. This bean holds screen-wide state that persists across the screen session.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();` // Retrieve the shared form bean (共有フォームBeanのデータBeanアクセスを取得) |

**Block 2** — [EXEC] `commoninfoBean.sendMessageString(...)` (L556–557)

> Configure the navigation destination by setting the next screen ID. The framework uses this value to determine which screen to display after this screen's processing completes.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));` // Set the destination screen ID on the shared bean (遷移先の画面IDを取得し共有フォームBeanの項目に設定する) |
| 2 | CALL | `JCCWebCommon.getScreenId(this)` [-> Returns the current screen ID from request context] // Called within sendMessageString to provide the destination screen identifier |

**Constant references in Block 2:**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|------------------|
| `CommonInfoCFConst.NEXT_SCREEN_ID` | `"遷移先画面ID"` (Destination Screen ID) | The DataBean field name used to store the next screen to navigate to. [-> COMMON_INFO_CF_CONST_NEXT_SCREEN_ID="遷移先画面ID" (CommonInfoCFConst.java:44)] |
| `X31CWebConst.DATABEAN_SET_VALUE` | `"SET_VALUE"` (mode flag — actual value from X31CWebConst) | In-memory DataBean write mode, indicating a set operation on the bean field. [-> DATABEAN_SET_VALUE (X31CWebConst.java)] |

**Block 3** — [EXEC] `JSYwebLog.println(...)` (L560)

> Emit a diagnostic log entry containing the full serialized state of the current DataBean. This is used for debugging and troubleshooting.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);` // DataBeanをログ出力 (Output DataBean to log) |
| 2 | CALL | `dumpDatabean()` [-> Returns serialized DataBean string] // Inherited method that dumps the full DataBean state |

**Block 4** — [RETURN] (L562)

> Signal normal completion to the framework/caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return true;` // true:正常 (true: normal completion) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `actionFin` | Method | Finalization processing — the screen lifecycle method invoked at the end of screen processing to prepare navigation and cleanup. Japanese: 完了処理 (kanryō shori = completion processing). |
| `X31SDataBeanAccess` | Class | Framework DataBean access object — a key-value store used across screen components to pass state between screens and within a screen session. |
| `CommonInfoCFConst.NEXT_SCREEN_ID` | Constant | The DataBean key ("遷移先画面ID" = destination screen ID) used to store which screen to navigate to after the current screen completes. |
| `X31CWebConst.DATABEAN_SET_VALUE` | Constant | Operation mode flag for DataBean write/set operations on bean fields. |
| `getScreenId` | Method | Utility method in `JCCWebCommon` that extracts the current screen's identifier from the request/session context. |
| `KKW02410SF` | Module | Femto Cell Option Update module — handles subscription (activation) and disconnection (cancellation) of Femto Cell service options. |
| `JCCWebCommon` | Class | Shared web-level utility class providing common screen operations including screen ID retrieval and screen info loading. |
| `JSYwebLog` | Class | Application logging framework class used for diagnostic output with configurable log levels (e.g., `DataBean_Dump`). |
| Femto Cell | Business term | A short-range cellular base station technology (also known as Femtocell) used to improve indoor mobile coverage. In this system, users can subscribe to or cancel (discontinue/restore) Femto Cell service. |
| 完了処理 (kanryō shori) | Japanese term | Finalization processing — the standard screen lifecycle phase for cleanup, logging, and navigation preparation after primary business processing completes. |
| フレムセルオプション (Furumesu Orapushon) | Japanese term | Femto Cell Option — the service product that allows users to subscribe to or cancel Femto Cell base station service. |
| 共有フォームBean (Kyōyū Fōmu Bean) | Japanese term | Shared form bean — the common `X31SDataBeanAccess` instance used across screens to maintain shared state (screen IDs, navigation targets, etc.). |
