# Business Logic — FUW02201SFLogic.back() [17 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.FUW02201SF.FUW02201SFLogic` |
| Layer | Controller / Web Business Logic (extends `JCCWebBusinessLogic`) |
| Module | `FUW02201SF` (Package: `eo.web.webview.FUW02201SF`) |

## 1. Role

### FUW02201SFLogic.back()

This method handles the **back button** press on the **Mail Virus Check Service Application Confirmation Screen** (メールウイルスチェックサービス申込確認画面). It is a simple navigation handler that prepares the common form information for returning to the mail virus check service application screen. The method implements the **delegation pattern** — it retrieves the shared `X31SDataBeanAccess` instance via `super.getCommonInfoBean()` from its parent class `JCCWebBusinessLogic`, then configures navigation metadata (target screen name and screen ID) into that bean before returning a success status. It performs **no business logic**, **no data validation**, **no CRUD operations**, and **no conditional branching**. Its sole responsibility is navigation state setup. It has no callers found in the codebase, suggesting it is invoked indirectly through a screen framework or dispatcher rather than direct method calls.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["back()"])
    GET_BEAN["Get common info bean"]
    SET_NAME["Set NEXT_SCREEN_NAME to MAIL_SCREEN_NAME"]
    SET_ID["Set NEXT_SCREEN_ID to SCREEN_ID_FUW02201"]
    RET_TRUE["Return true (normal end)"]

    START --> GET_BEAN
    GET_BEAN --> SET_NAME
    SET_NAME --> SET_ID
    SET_ID --> RET_TRUE
```

**Processing Summary:**

| Step | Action | Description |
|------|--------|-------------|
| 1 | GET_BEAN | Retrieves the shared common form `X31SDataBeanAccess` bean from the parent class `JCCWebBusinessLogic` via `super.getCommonInfoBean()`. This bean carries navigation state across screens. |
| 2 | SET_NAME | Sets the next screen name constant (`NEXT_SCREEN_NAME`) to `SCREEN_NAME_FUW02201` ("メールウイルスチェックサービス申込" — Mail Virus Check Service Application) via `commoninfoBean.sendMessageString()`. This tells the navigation framework which screen name to display on the target screen. |
| 3 | SET_ID | Sets the next screen ID constant (`NEXT_SCREEN_ID`) to `SCREEN_ID_FUW02201` ("FUW02201") via `commoninfoBean.sendMessageString()`. This tells the navigation framework which screen component to activate. |
| 4 | RET_TRUE | Returns `true` indicating successful completion. No data modification, no error handling required. |

**Constant Resolutions:**

| Constant | Value | Business Meaning |
|----------|-------|-----------------|
| `CommonInfoCFConst.NEXT_SCREEN_NAME` | `"遷移先画面名"` (Next screen name) | Key for setting the target screen's display name in the common info bean |
| `CommonInfoCFConst.NEXT_SCREEN_ID` | `"遷移先画面ID"` (Next screen ID) | Key for setting the target screen's component ID in the common info bean |
| `JFUScreenConst.SCREEN_NAME_FUW02201` | `"メールウイルスチェックサービス申込"` (Mail Virus Check Service Application) | Display name of the FUW02201 application screen |
| `JFUScreenConst.SCREEN_ID_FUW02201` | `"FUW02201"` | Component ID of the FUW02201 application screen |
| `X31CWebConst.DATABEAN_SET_VALUE` | `"DATABEAN_SET_VALUE"` | Magic value indicating this is a data bean set operation |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. Navigation target is hardcoded to the FUW02201 screen. |

**External State Used:**

| Source | Type | Description |
|--------|------|-------------|
| `super.getCommonInfoBean()` | `X31SDataBeanAccess` | Shared common form bean inherited from `JCCWebBusinessLogic`. Provides access to navigation state data that persists across screen transitions. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `X31SDataBeanAccess.sendMessageString` | `OneStopDataBeanAccess` | - | Calls `sendMessageString` to set navigation metadata (screen name and screen ID) in the common info bean. This is a state-setting operation, not a database operation. |

**Classification Notes:**
- This method performs **no database reads, writes, or modifications**.
- The `sendMessageString` call is a navigation state preparation — it sets keys in the common info bean for the framework to read during the next screen transition.
- No SC (Service Component) or CBS (CBS Component) services are invoked.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| - | N/A | No direct callers found in codebase | - |

**Notes:**
- No files reference `FUW02201SFLogic.back()` directly.
- This method is likely invoked through the screen navigation framework which routes button events to handler methods by naming convention (e.g., "back" button → `back()` method).
- The class `FUW02201SFLogic` extends `JCCWebBusinessLogic`, which provides the `getCommonInfoBean()` base functionality.
- The `FUW02201SFChecker` class exists alongside this logic class and likely participates in the same screen's validation pipeline, but does not directly call `back()`.

## 6. Per-Branch Detail Blocks

> This method has **no conditional branches** (no if/else, no switch/case, no loops). The flow is strictly sequential.

**Block 1** — [PROCEDURE] `(straight-line execution)` (L406)

> Acquires the shared common form bean from the parent class hierarchy.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `super.getCommonInfoBean()` // Returns `X31SDataBeanAccess` from `JCCWebBusinessLogic` [-> BEAN_INHERITANCE] |
| 2 | SET | `commoninfoBean = super.getCommonInfoBean()` // Shared common form data bean access [-> X31SDataBeanAccess] |

**Block 2** — [PROCEDURE] `(set next screen name)` (L410-411)

> Sets the target screen name in the common info bean so the navigation framework displays the correct screen title.

| # | Type | Code |
|---|------|------|
| 1 | SET | `NEXT_SCREEN_NAME = SCREEN_NAME_FUW02201` [-> CommonInfoCFConst.NEXT_SCREEN_NAME="遷移先画面名"] |
| 2 | SET | `SET_VALUE = DATABEAN_SET_VALUE` [-> X31CWebConst.DATABEAN_SET_VALUE="DATABEAN_SET_VALUE"] |
| 3 | SET | `SCREEN_NAME = "メールウイルスチェックサービス申込"` [-> JFUScreenConst.SCREEN_NAME_FUW02201="メールウイルスチェックサービス申込"] |
| 4 | CALL | `commoninfoBean.sendMessageString(NEXT_SCREEN_NAME, DATABEAN_SET_VALUE, SCREEN_NAME_FUW02201)` // Set target screen name in common info bean |

**Block 3** — [PROCEDURE] `(set next screen ID)` (L413-414)

> Sets the target screen ID (component ID) in the common info bean so the navigation framework knows which screen to navigate to.

| # | Type | Code |
|---|------|------|
| 1 | SET | `NEXT_SCREEN_ID = SCREEN_ID_FUW02201` [-> CommonInfoCFConst.NEXT_SCREEN_ID="遷移先画面ID"] |
| 2 | SET | `SET_VALUE = DATABEAN_SET_VALUE` [-> X31CWebConst.DATABEAN_SET_VALUE="DATABEAN_SET_VALUE"] |
| 3 | SET | `SCREEN_ID = "FUW02201"` [-> JFUScreenConst.SCREEN_ID_FUW02201="FUW02201"] |
| 4 | CALL | `commoninfoBean.sendMessageString(NEXT_SCREEN_ID, DATABEAN_SET_VALUE, SCREEN_ID_FUW02201)` // Set target screen ID in common info bean |

**Block 4** — [RETURN] `(success)` (L416)

> Returns `true` to indicate successful completion of the back navigation preparation.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return true` // 処理結果（true:正常終了、false:エラー） — Processing result: true = normal end |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `FUW02201` | Screen ID | Mail Virus Check Service Application screen — the main screen for applying for the mail virus check service |
| `FUW02201SF` | Module | SF = Screen Front. The web front-end screen module for FUW02201 |
| `X31SDataBeanAccess` | Class | Shared common form data bean access class. Provides navigation state management across screens |
| `JCCWebBusinessLogic` | Class | Base class for web business logic. Parent of `FUW02201SFLogic`, provides `getCommonInfoBean()` |
| `CommonInfoCFConst` | Class | Common Info Constants — defines navigation-related constant keys like `NEXT_SCREEN_NAME` and `NEXT_SCREEN_ID` |
| `JFUScreenConst` | Class | JFU Screen Constants — defines screen ID and screen name constants for all screens in the JFU system |
| `X31CWebConst` | Class | X31 Common Web Constants — defines web-layer constants including `DATABEAN_SET_VALUE` |
| `NEXT_SCREEN_NAME` | Constant Key | "Next screen name" — key used to set the display name of the target navigation screen |
| `NEXT_SCREEN_ID` | Constant Key | "Next screen ID" — key used to set the component ID of the target navigation screen |
| `DATABEAN_SET_VALUE` | Constant Value | Magic string value indicating a data bean set operation in the common info bean |
| `SCREEN_NAME_FUW02201` | Constant Value | "Mail Virus Check Service Application" (メールウイルスチェックサービス申込) — display name |
| `SCREEN_ID_FUW02201` | Constant Value | "FUW02201" — component ID of the mail virus check service application screen |
| SCREEN | Domain term | A UI screen in the JFU system, identified by a 6-character code (e.g., FUW02201, KKSV0004) |
| BEAN | Pattern | A data holder object (JavaBean pattern) used to pass state between components |
| SF | Suffix | Screen Front — the front-end web screen logic module |
| Logic | Suffix | Business logic class in the Model layer of the web application |
| JFU | Acronym | The internal system platform / framework name |
| MAIL VIRUS CHECK SERVICE | Business term | A service that scans outgoing emails for viruses — this screen handles the application process for this service |
