# Business Logic — KKW12601SFLogic.afterSearch() [94 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW12601SF.KKW12601SFLogic` |
| Layer | Controller |
| Module | `KKW12601SF` (Package: `eo.web.webview.KKW12601SF`) |

## 1. Role

### KKW12601SFLogic.afterSearch()

The `afterSearch` method is the **post-search processing** routine for the **Confirmation Letter List** screen (KKW12601SF). It is invoked immediately after the "KanuoresoReSearchCC" search service component returns results. Its primary responsibility is to inspect the search error flag and either short-circuit with an appropriate user message (when zero results, exceeding maximum display count, or no matching data) or proceed to populate the screen display data.

When search results are valid, the method performs **page-link information demapping**, **pagination command selection**, and **list data preparation**. It enables the "List Display" flag, retrieves the previously selected Confirmation Letter Issuance Number (to preserve user selection across postbacks), and copies the pre-update data snapshot for optimistic concurrency avoidance.

The method iterates over each Confirmation Letter list row to apply **UI-side flag transformations**: it maps the "Letter Dispatch Start Division" code to the "Deduction/Withholding" checkbox state (division 02 implies withdrawal), and maps the "Send Exclusion Flag" to the "Send Exclusion" checkbox (value "2" means excluded). Finally, it performs **row selection logic**: the first row is pre-selected, and if the previous selection still exists in the current result set, that row is re-selected to maintain user context.

This method implements a **conditional dispatch pattern** (branching on search error flag) followed by a **data transformation pipeline** (row-by-row flag mapping and selection logic).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["afterSearch bean"])
    GET_ERR["getSearchErrFlg"]
    CHECK_ZERO{SEARCH_ERR_FLG_ZERO}
    CHECK_OVERMAX{SEARCH_ERR_FLG_OVERMAX}
    SHOW_ZERO_MSG["setMessageInfo EKB0330__I"]
    SHOW_OVERMAX_MSG["getSearchConst"]
    SHOW_OVERMAX_MSG2["setMessageInfo EKB0340__I"]
    CHECK_NODATA{SEARCH_ERR_FLG_NODATA}
    SHOW_NODATA_MSG["setMessageInfo EKB0350__I"]
    SETUP_PAGING["downmapperPageLinkInfo"]
    SET_CMD["setSearchCommand"]
    SET_LIST_DISP["sendMessageBoolean LIST_DISP_FLG"]
    GET_PREV_NO["sendMessageString KANUORESO_HAKKO_NO"]
    GET_LIST_BF["getDataBeanArray KANUORESO_LIST_BF"]
    GET_LIST["getDataBeanArray KANUORESO_LIST"]
    FOR_START["for i 0 to count"]
    ADD_BF_BEAN["datalistBf.addDataBean"]
    GET_CURR_BEAN["datalist.getDataBean"]
    GET_LETTER["sendMessageString LETTER_HASSO"]
    CHECK_LETTER{LETTER_SHIWAKE_KOPT}
    SET_HIKINUKI["sendMessageBoolean HIKINUKI_02"]
    GET_SEND_JGI["sendMessageString SEND_JGI_FLG_02"]
    CHECK_SEND_JGI{SEND_JGI_JGI}
    SET_SEND_JGI["sendMessageBoolean SEND_JGI_02"]
    GET_HAKKO_NO["sendMessageString KANUORESO_HAKKO_NO_02"]
    SET_BF_HAKKO_NO["sendMessageString KANUORESO_HAKKO_NO_03"]
    CHECK_FIRST{i == 0}
    SET_FIRST_CHOICE["sendMessageString KANUORESO_CHOICE 0"]
    CHECK_PREV_MATCH{kanuoreso_hakko_no_bf != null}
    SET_PREV_CHOICE["sendMessageString KANUORESO_CHOICE i"]
    NEXT_ITER["i++"]
    END_NODE(["Return"])

    START --> GET_ERR
    GET_ERR --> CHECK_ZERO
    CHECK_ZERO -->|true| SHOW_ZERO_MSG
    CHECK_ZERO -->|false| CHECK_OVERMAX
    SHOW_ZERO_MSG --> END_NODE
    CHECK_OVERMAX -->|true| SHOW_OVERMAX_MSG
    SHOW_OVERMAX_MSG --> SHOW_OVERMAX_MSG2
    SHOW_OVERMAX_MSG2 --> END_NODE
    CHECK_OVERMAX -->|false| CHECK_NODATA
    CHECK_NODATA -->|true| SHOW_NODATA_MSG
    CHECK_NODATA -->|false| SETUP_PAGING
    SHOW_NODATA_MSG --> SETUP_PAGING
    SETUP_PAGING --> SET_CMD
    SET_CMD --> SET_LIST_DISP
    SET_LIST_DISP --> GET_PREV_NO
    GET_PREV_NO --> GET_LIST_BF
    GET_LIST_BF --> GET_LIST
    GET_LIST --> FOR_START
    FOR_START --> ADD_BF_BEAN
    ADD_BF_BEAN --> GET_CURR_BEAN
    GET_CURR_BEAN --> GET_LETTER
    GET_LETTER --> CHECK_LETTER
    CHECK_LETTER -->|true| SET_HIKINUKI
    CHECK_LETTER -->|false| GET_SEND_JGI
    SET_HIKINUKI --> GET_SEND_JGI
    GET_SEND_JGI --> CHECK_SEND_JGI
    CHECK_SEND_JGI -->|true| SET_SEND_JGI
    CHECK_SEND_JGI -->|false| GET_HAKKO_NO
    SET_SEND_JGI --> GET_HAKKO_NO
    GET_HAKKO_NO --> SET_BF_HAKKO_NO
    SET_BF_HAKKO_NO --> CHECK_FIRST
    CHECK_FIRST -->|true| SET_FIRST_CHOICE
    CHECK_FIRST -->|false| CHECK_PREV_MATCH
    SET_FIRST_CHOICE --> CHECK_PREV_MATCH
    CHECK_PREV_MATCH -->|true| SET_PREV_CHOICE
    CHECK_PREV_MATCH -->|false| NEXT_ITER
    SET_PREV_CHOICE --> NEXT_ITER
    NEXT_ITER --> FOR_START
    FOR_START -->|end loop| END_NODE
```

### Constant Resolution Reference

| Constant | Value | Business Meaning |
|----------|-------|------------------|
| `SEARCH_ERR_FLG_ZERO` = `"1"` | `"1"` | Search result count is zero (no records matched) |
| `SEARCH_ERR_FLG_OVERMAX` = `"2"` | `"2"` | Search result count exceeds maximum display threshold |
| `SEARCH_ERR_FLG_NODATA` = `"3"` | `"3"` | No corresponding data on the display page |
| `LETTER_SHIWAKE_KOPT` = `"1"` | `"1"` | "Sent to KOPT" dispatch start division code — triggers Deduction/Withholding (Hikinuki) checkbox |
| `SEND_JGI_JGI` = `"2"` | `"2"` | "Excluded" send exclusion flag value — triggers Send Exclusion checkbox |
| `LIST_DISP_FLG` = `"一覧表示フラグ"` | Japanese | List display flag — controls visibility of the results table |
| `PAGING_CMD` = `"paging"` | `"paging"` | Pagination command map key |
| `SCREENID` = `JKKScreenConst.SCREEN_ID_KKW12601` | (screen ID) | Screen identifier for pagination context |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `bean` | `X31SDataBeanAccess` | The service form bean that carries the Confirmation Letter List screen state — used to read/write all display data including list bean arrays, user selections, and UI flags. |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `outputMap` | `HashMap<String, Object>` | The output map populated by the search service component ("KanuoresoReSearchCC") containing search results and error flags. |

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCWebCommon.getSearchErrFlg` | JCCWebCommon | - | Reads the search error flag from `outputMap` for the "KanuoresoReSearchCC" search result |
| - | `JCCWebCommon.setMessageInfo` | JCCWebCommon | - | Displays an error/info message when zero search results |
| R | `JCCWebCommon.getSearchConst` | JCCWebCommon | - | Reads the maximum display count constant for "KKW12601_MAX_SHOW_CNT" |
| - | `JCCWebCommon.setMessageInfo` | JCCWebCommon | - | Displays an error/info message when search exceeds max result count, passing the threshold value |
| - | `JCCWebCommon.setMessageInfo` | JCCWebCommon | - | Displays an info message when no data matches on the display page |
| - | `JCCWebCommon.downmapperPageLinkInfo` | JCCWebCommon | - | Demaps (maps from session to request) pagination link information for the screen |
| - | `JCCWebCommon.setSearchCommand` | JCCWebCommon | - | Sets the pagination command map key to "paging" for the current session |
| - | `bean.sendMessageBoolean` | OneStopDataBeanAccess | - | Sets the "List Display" flag to `true` to enable the results table on screen |
| R | `bean.sendMessageString` | OneStopDataBeanAccess | - | Reads the previously selected Confirmation Letter Issuance Number to preserve selection |
| R | `bean.getDataBeanArray` | OneStopDataBeanAccess | - | Retrieves the pre-update avoidance data array (snapshot of data before any updates) |
| R | `bean.getDataBeanArray` | OneStopDataBeanAccess | - | Retrieves the Confirmation Letter list data array for iteration |
| C | `datalistBf.addDataBean` | OneStopDataBeanAccessArray | - | Adds a new data bean to the pre-update avoidance array for each row |
| R | `datalist.getDataBean` | OneStopDataBeanAccessArray | - | Retrieves the i-th data bean from the Confirmation Letter list for processing |
| R | `dataBean.sendMessageString` | OneStopDataBeanAccess | - | Reads the Letter Dispatch Start Division code (division 02) to check for KOPT dispatch |
| - | `dataBean.sendMessageBoolean` | OneStopDataBeanAccess | - | Sets the Deduction/Withholding checkbox (`HIKINUKI_02`) based on dispatch division value |
| - | `dataBeanBf.sendMessageBoolean` | OneStopDataBeanAccess | - | Sets the pre-update avoidance flag (`HIKINUKI_FLG_03`) on the snapshot bean |
| R | `dataBean.sendMessageString` | OneStopDataBeanAccess | - | Reads the Send Exclusion Flag to check if send was excluded |
| - | `dataBean.sendMessageBoolean` | OneStopDataBeanAccess | - | Sets the Send Exclusion checkbox (`SEND_JGI_02`) based on exclusion flag value |
| - | `dataBeanBf.sendMessageBoolean` | OneStopDataBeanAccess | - | Sets the pre-update avoidance send exclusion flag (`SEND_JGI_FLG_03`) on the snapshot |
| R | `dataBean.sendMessageString` | OneStopDataBeanAccess | - | Reads the Confirmation Letter Issuance Number for the current row |
| - | `dataBeanBf.sendMessageString` | OneStopDataBeanAccess | - | Writes the Confirmation Letter Issuance Number to the pre-update avoidance snapshot |
| - | `bean.sendMessageString` | OneStopDataBeanAccess | - | Sets the first row ("0") as pre-selected in the list for the first iteration |
| - | `bean.sendMessageString` | OneStopDataBeanAccess | - | Sets the matching row index as selected if it matches the previously selected Confirmation Letter |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Controller:KKW12601SFLogic | `actionInit` -> `afterSearch` | `sendMessageString [R] KANUORESO_HAKKO_NO`, `addDataBean [C] KANUORESO_LIST_BF` |
| 2 | Controller:KKW12601SFLogic | `actionPaging` -> `afterSearch` | `sendMessageString [R] KANUORESO_HAKKO_NO`, `addDataBean [C] KANUORESO_LIST_BF` |
| 3 | Controller:KKW12601SFLogic | `actionSearch` -> `afterSearch` | `sendMessageString [R] KANUORESO_HAKKO_NO`, `addDataBean [C] KANUORESO_LIST_BF` |
| 4 | Controller:KKW12601SFLogic | `actionSortAsc` -> `afterSearch` | `sendMessageString [R] KANUORESO_HAKKO_NO`, `addDataBean [C] KANUORESO_LIST_BF` |
| 5 | Controller:KKW12601SFLogic | `actionSortDesc` -> `afterSearch` | `sendMessageString [R] KANUORESO_HAKKO_NO`, `addDataBean [C] KANUORESO_LIST_BF` |

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg)` [SEARCH_ERR_FLG_ZERO="1"] (L1523)

> If search error flag indicates zero results, display the "zero results" message and return immediately. The results column is NOT displayed.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0330__I)` // Display "no search results" message // -> JPCOnlineMessageConstant.EKB0330__I |
| 2 | RETURN | `return;` // Implicit return at end of if branch — results column not displayed |

**Block 2** — [ELSE-IF] `JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg)` [SEARCH_ERR_FLG_OVERMAX="2"] (L1528)

> If search error flag indicates the result count exceeds the maximum display threshold, fetch the max count constant and display the "exceeded max" message. The results column is NOT displayed.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String[] str = {JCCWebCommon.getSearchConst("KKW12601_MAX_SHOW_CNT")}` // Get the max display count constant |
| 2 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0340__I, str)` // Display "exceeded max results" message with threshold value // -> JPCOnlineMessageConstant.EKB0340__I |
| 3 | RETURN | `return;` // Implicit return — results column not displayed |

**Block 3** — [ELSE] (L1531)

> Search results are valid (error flag is not zero or overmax). If the error flag is "no data", display that message first. Then proceed to full page setup and data preparation.

**Block 3.1** — [IF] `JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg)` [SEARCH_ERR_FLG_NODATA="3"] (L1532)

> If search error flag indicates no data on the display page, show the "no corresponding data" message. Processing continues after this block.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0350__I)` // Display "no data on display page" message // -> JPCOnlineMessageConstant.EKB0350__I |

**Block 3.2** — [PAGE LINK INFO DEMAPPING] (L1537)

> Demap pagination link information from session to request for the "KanuoresoReSearchCC" search context.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.downmapperPageLinkInfo(this, "KanuoresoReSearchCC", outputMap, SCREENID)` // Map pagination context from session to request |

**Block 3.3** — [PAGINATION COMMAND SELECTION] (L1540)

> Set the pagination command map key to "paging" for the current session.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.setSearchCommand(this, PAGING_CMD)` // -> PAGING_CMD="paging" |

**Block 3.4** — [LIST DISPLAY FLAG SETTING] (L1543)

> Enable the "List Display" flag so the results table is shown on the screen.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `bean.sendMessageBoolean(KKW12601SFConst.LIST_DISP_FLG, X31CWebConst.DATABEAN_SET_VALUE, true)` // -> LIST_DISP_FLG="一覧表示フラグ" |

**Block 3.5** — [PREVIOUS ROW ACQUISITION] (L1546)

> Retrieve the Confirmation Letter Issuance Number of the previously selected row to preserve user selection across postbacks.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `String kanuoreso_hakko_no_bf = bean.sendMessageString(KKW12601SFConst.KANUORESO_HAKKO_NO, X31CWebConst.DATABEAN_GET_VALUE)` // -> KANUORESO_HAKKO_NO="加入御礼書発行番号" |

**Block 3.6** — [PRE-UPDATE AVOIDANCE SNAPSHOT] (L1549)

> Obtain the data bean array for pre-update avoidance (data snapshot before any modifications).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `X31SDataBeanAccessArray datalistBf = bean.getDataBeanArray(KKW12601SFConst.KANUORESO_LIST_BF)` // -> KANUORESO_LIST_BF="加入御礼書更新前情報" |

**Block 3.7** — [CONFIRMATION LETTER LIST ACQUISITION] (L1552)

> Retrieve the Confirmation Letter list data array for iteration.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `X31SDataBeanAccessArray datalist = bean.getDataBeanArray(KKW12601SFConst.KANUORESO_LIST)` // -> KANUORESO_LIST="加入御礼書一覧" |

**Block 3.8** — [FOR LOOP: Row-by-Row Flag Mapping] (L1553)

> For each Confirmation Letter list row, copy to the pre-update avoidance snapshot, transform dispatch/exclusion flags to UI checkbox states, and handle row selection.

| # | Type | Code |
|---|------|------|
| 1 | SET | `int i = 0;` // Loop index |
| 2 | SET | `i < datalist.getCount()` // Loop condition: while row index is less than total count |
| 3 | INCREMENT | `i++` |

**Block 3.8.1** — [PRE-UPDATE SNAPSHOT CREATION] (L1555)

> Create a new data bean in the pre-update avoidance array for the current row.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `X31SDataBeanAccess dataBeanBf = datalistBf.addDataBean()` // Create snapshot entry |

**Block 3.8.2** — [CURRENT ROW ACQUISITION] (L1557)

> Get the i-th data bean from the Confirmation Letter list.

| # | Type | Code |
|---|------|------|
| 1 | SET | `X31SDataBeanAccess dataBean = datalist.getDataBean(i)` // Get current row |

**Block 3.8.3** — [LETTER DISPATCH DIVISION CHECK] (L1559)

> Read the Letter Dispatch Start Division code (division 02) and check if it indicates "Sent to KOPT". When true, set the Deduction/Withholding checkbox on both the display bean and the snapshot bean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String letter = dataBean.sendMessageString(KKW12601SFConst.LETTER_HASSO_SHIWAKE_DIV_02, X31CWebConst.DATABEAN_GET_VALUE)` // -> LETTER_HASSO_SHIWAKE_DIV_02 |

**Block 3.8.4** — [IF LETTER_SHIWAKE_KOPT = "1"] [LETTER_SHIWAKE_KOPT="1"] (L1561)

> If the dispatch start division code equals "1" ("Sent to KOPT"), set the Deduction/Withholding checkbox to true on both beans.
> Business meaning: "Letter Dispatch Start Division: Deduction/Withholding -> Deduction" — indicates a withdrawal operation.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `dataBean.sendMessageBoolean(KKW12601SFConst.HIKINUKI_02, X31CWebConst.DATABEAN_SET_VALUE, true)` // Set Deduction/Withholding checkbox on display bean |
| 2 | EXEC | `dataBeanBf.sendMessageBoolean(KKW12601SFConst.HIKINUKI_FLG_03, X31CWebConst.DATABEAN_SET_VALUE, true)` // Set Deduction/Withholding flag on snapshot bean |

**Block 3.8.5** — [SEND EXCLUSION FLAG CHECK] (L1567)

> Read the Send Exclusion Flag and check if it indicates "Excluded". When true, set the Send Exclusion checkbox on both beans.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String send_jgi = dataBean.sendMessageString(KKW12601SFConst.SEND_JGI_FLG_02, X31CWebConst.DATABEAN_GET_VALUE)` // -> SEND_JGI_FLG_02 |

**Block 3.8.6** — [IF SEND_JGI_JGI = "2"] [SEND_JGI_JGI="2"] (L1570)

> If the send exclusion flag equals "2" ("Excluded"), set the Send Exclusion checkbox to true on both beans.
> Business meaning: "Send Exclusion Flag" — value "2" means the send was excluded, so the Send Exclusion checkbox is checked.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `dataBean.sendMessageBoolean(KKW12601SFConst.SEND_JGI_02, X31CWebConst.DATABEAN_SET_VALUE, true)` // Set Send Exclusion checkbox on display bean |
| 2 | EXEC | `dataBeanBf.sendMessageBoolean(KKW12601SFConst.SEND_JGI_FLG_03, X31CWebConst.DATABEAN_SET_VALUE, true)` // Set Send Exclusion flag on snapshot bean |

**Block 3.8.7** — [CONFIRMATION LETTER ISSUANCE NUMBER HANDLING] (L1576)

> Read the Confirmation Letter Issuance Number from the current row and write it to the pre-update avoidance snapshot.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String kanuoreso_hakko_no = dataBean.sendMessageString(KKW12601SFConst.KANUORESO_HAKKO_NO_02, X31CWebConst.DATABEAN_GET_VALUE)` // -> KANUORESO_HAKKO_NO_02="加入御礼書発行番号" |
| 2 | EXEC | `dataBeanBf.sendMessageString(KKW12601SFConst.KANUORESO_HAKKO_NO_03, X31CWebConst.DATABEAN_SET_VALUE, kanuoreso_hakko_no)` // -> KANUORESO_HAKKO_NO_03="加入御礼書発行番号" |

**Block 3.8.8** — [FIRST ROW PRE-SELECTION] (L1583)

> On the first iteration (i == 0), pre-select the first row in the list. This provides a default selection when the page first loads.

| # | Type | Code |
|---|------|------|
| 1 | SET | `i == 0` // First row check |
| 2 | EXEC | `bean.sendMessageString(KKW12601SFConst.KANUORESO_CHOICE, X31CWebConst.DATABEAN_SET_VALUE, "0")` // Set first row as selected // -> KANUORESO_CHOICE="加入御礼書選択行" |

**Block 3.8.9** — [PREVIOUS SELECTION PRESERVATION] (L1587)

> If the previously selected Confirmation Letter Issuance Number (from Block 3.5) matches the current row's issuance number, set the current row as the selected row. This preserves the user's selection across postbacks (search, paging, sorting).

| # | Type | Code |
|---|------|------|
| 1 | SET | `kanuoreso_hakko_no_bf != null && kanuoreso_hakko_no_bf.equals(kanuoreso_hakko_no)` // Previous selection still exists in current results |
| 2 | EXEC | `bean.sendMessageString(KKW12601SFConst.KANUORESO_CHOICE, X31CWebConst.DATABEAN_SET_VALUE, i + "")` // Set current row index as selected |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `KANUORESO` | Field prefix | Confirmation Letter — a formal acknowledgment letter issued upon subscription |
| `KANUORESO_HAKKO_NO` | Field | Confirmation Letter Issuance Number — unique identifier for each issued confirmation letter |
| `KANUORESO_LIST` | Field | Confirmation Letter List — the main data array for the list display screen |
| `KANUORESO_LIST_BF` | Field | Confirmation Letter Pre-Update Information — snapshot of data before any modifications, used for optimistic concurrency avoidance |
| `KANUORESO_CHOICE` | Field | Confirmation Letter Selected Row — the currently selected row index in the list |
| `LIST_DISP_FLG` | Field | List Display Flag — controls whether the results table is visible on screen |
| `SEARCH_ERR_FLG_ZERO` | Constant | Search error flag value "1" — indicates zero search results were returned |
| `SEARCH_ERR_FLG_OVERMAX` | Constant | Search error flag value "2" — indicates search results exceeded the maximum display count |
| `SEARCH_ERR_FLG_NODATA` | Constant | Search error flag value "3" — indicates no data matches on the display page |
| `HIKINUKI_02` | Field | Deduction/Withholding checkbox (display version) — indicates a withdrawal/deduction operation for the row |
| `HIKINUKI_FLG_03` | Field | Deduction/Withholding flag (snapshot version) — the same state stored in the pre-update avoidance array |
| `SEND_JGI_FLG_02` | Field | Send Exclusion Flag (division 02) — indicates whether send was excluded for the row |
| `SEND_JGI_02` | Field | Send Exclusion checkbox (display version) — checked when send was excluded |
| `SEND_JGI_FLG_03` | Field | Send Exclusion flag (snapshot version) — stored in the pre-update avoidance array |
| `LETTER_HASSO_SHIWAKE_DIV_02` | Field | Letter Dispatch Start Division code (division 02) — classifies how a letter was initially dispatched |
| `LETTER_SHIWAKE_KOPT` | Constant | "1" — the dispatch division code meaning "Sent to KOPT" |
| `SEND_JGI_JGI` | Constant | "2" — the send exclusion value meaning "Excluded" |
| `KOPT` | Business term | K-Opticom — the service provider organization |
| `X31SDataBeanAccess` | Technical | Service form data bean accessor — the primary interface for reading/writing screen data |
| `X31SDataBeanAccessArray` | Technical | Array wrapper for data bean collections — provides iteration and element access |
| `X31CWebConst.DATABEAN_GET_VALUE` | Constant | Command constant for reading a value from a data bean |
| `X31CWebConst.DATABEAN_SET_VALUE` | Constant | Command constant for writing a value to a data bean |
| `downmapperPageLinkInfo` | Method | Maps pagination link information from session scope to request scope (demapping) |
| `setSearchCommand` | Method | Sets the pagination command context for the current screen |
| EKB0330__I | Message Key | Info message displayed when search returns zero results |
| EKB0340__I | Message Key | Info message displayed when search results exceed the maximum display count (includes the threshold value) |
| EKB0350__I | Message Key | Info message displayed when no data exists on the display page |
