# Business Logic — KKW12601SFLogic.actionSearch() [126 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW12601SF.KKW12601SFLogic` |
| Layer | Web Logic / Screen Controller (package `eo.web.webview.*`) |
| Module | `KKW12601SF` (Package: `eo.web.webview.KKW12601SF`) |

## 1. Role

### KKW12601SFLogic.actionSearch()

This method implements the **search entry point** for the **Kanaoreso (Added Service Order Receipt) List Confirmation Screen** — the screen where operators view, filter, and confirm receipts of added services issued to K-Opticom customers. It serves as the central coordination method that bridges the web presentation layer with the underlying business processing pipeline. Specifically, the method performs three distinct phases: (1) **Search Condition Capture and Conversion** — it extracts raw data from the X31 DataBean form inputs, converts multi-select indices into lookup codes using the `CD_DIV_LIST_01` (Add-to-List) mechanism for data type, new/addition flag, and send exclusion flag fields, and populates normalized search parameter fields prefixed with `SEARCH_`; (2) **Validation Gate** — it delegates to `isSearchInput()` to verify that the user has entered at least one search criterion, displaying an error message via `JCCWebCommon.setMessageInfo` if the search conditions are empty; and (3) **Search Execution Delegation** — upon passing validation, it delegates to `beforeSearch`, `execSearch`, and `afterSearch` to carry out the actual database-backed query, post-processing, and DataBean population. The method employs a **delegation pattern** and **template method** design, where the core logic structure is fixed but the heavy-lifting (search execution) is pushed into separate lifecycle methods. It is called from multiple screen entry points (KKSV0143, KKSV0144, KKSV0145 dispatch mappers) across the Kanaoreso receipt list module, making it the shared search dispatcher for all sub-screen variants.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START([actionSearch])
    START --> INIT[Initialize result = true]
    INIT --> GETBEAN[Get ServiceFormBean via super.getServiceFormBean]
    GETBEAN --> DATASBT[Extract data type info from DataBeanArray]
    DATASBT --> DATASBT_IDX[Get selected index from DATA_SBT_INFO]
    DATASBT_IDX --> DATASBT_VAL[Convert index to datasbt_sel code via CD_DIV_LIST_01]
    DATASBT_VAL --> SETCOND[Set search condition fields on bean]
    SETCOND --> SETCOND_SBT[Set SEARCH_DATA_SBT_CD]
    SETCOND_SBT --> SETCOND_SYSID[Set SEARCH_SYSID]
    SETCOND_SYSID --> SETCOND_SVC[Set SEARCH_SVC_KEI_NO]
    SETCOND_SVC --> SETCOND_DATEF[Set SEARCH_CHSHTYMD_FROM]
    SETCOND_DATEF --> SETCOND_DATET[Set SEARCH_CHSHTYMD_TO]
    SETCOND_DATET --> SETCOND_MSK[Set SEARCH_MSKMSHO_NO]
    SETCOND_MSK --> SETCOND_CUST[Set SEARCH_CUST_NM]
    SETCOND_CUST --> SETCOND_GRP[Set SEARCH_KAISEN_GRP_NO]
    SETCOND_GRP --> NEWADD[Extract new/addition identification flag]
    NEWADD --> NEWADD_IDX[Get selected index from NEW_ADD_SKBT_INFO]
    NEWADD_IDX --> NEWADD_VAL[Convert to code via CD_DIV_LIST_01]
    NEWADD_VAL --> SETCOND_NAS[Set SEARCH_NEW_ADD_SKBT_F]
    SETCOND_NAS --> SENDJGI[Extract send exclusion flag]
    SENDJGI --> SENDJGI_IDX[Get selected index from SEND_JGI_INFO]
    SENDJGI_IDX --> SENDJGI_VAL[Convert to code via CD_DIV_LIST_01]
    SENDJGI_VAL --> SETCOND_SJ[Set SEARCH_SEND_JGI_FLG]
    SETCOND_SJ --> MISEND[Get MI_SEND boolean flag]
    MISEND --> MISEND_CHECK{MI_SEND == true}
    MISEND_CHECK -->|Yes| MISEND_Y[Set SEARCH_MI_SEND to unsent flag]
    MISEND_CHECK -->|No| MISEND_N[Set SEARCH_MI_SEND to sent flag]
    MISEND_Y --> CLRFORM[Clear form fields: SORT_NUM, ORDER_NUM, ORDER_TYPE, KANUORESO_CHOICE, KANUORESO_HAKKO_NO]
    MISEND_N --> CLRFORM
    CLRFORM --> CLRPAGE[Clear page link info via JCCWebCommon.clearPageLinkInfo]
    CLRPAGE --> BEFORE[Call beforeSearch bean]
    BEFORE --> SEARCH_CHECK{isSearchInput true}
    SEARCH_CHECK -->|No conditions| MSG[Display error: search conditions not set]
    MSG --> DUMP[Dump DataBean to log]
    SEARCH_CHECK -->|Has conditions| EXEC[Call execSearch bean]
    EXEC --> AFTER[Call afterSearch bean]
    AFTER --> DUMP
    DUMP --> RETURN[Return result true]
    RETURN --> END2([End])
```

**Constant Resolution:**
- `MI_SEND_FLG_Y = "1"` — Unsent flag (Japanese: `未送信フラグ（未送信）`) — used when `MI_SEND` is true, meaning the user wants to search for records that have not yet been sent.
- `MI_SEND_FLG_N = "0"` — Sent flag (Japanese: `未送信フラグ（送信済み）`) — used when `MI_SEND` is false, meaning the user wants to search for records that have already been sent.
- `SEARCH_FLG_Y = "1"` — Search flag = required (Japanese: `検索フラグ（要）`).
- `SEARCH_FLG_N = "0"` — Search flag = not required (Japanese: `検索フラグ（不要）`).
- `INDEX_01 = "add"` (Japanese: `添え字`) — the DataBean array index key for extracting the selected list index value.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none — instance method) | - | - |

**Instance fields / external state read by this method:**

| No | Field / External Reference | Type | Business Description |
|----|---------------------------|------|---------------------|
| 1 | `super.getServiceFormBean()` (X31SDataBeanAccess) | Bean | The form-bound DataBean carrying all search input values entered by the operator on the Kanaoreso receipt list confirmation screen. |
| 2 | `SCREENID` | `String` | `JKKScreenConst.SCREEN_ID_KKW12601` — the screen identifier used to manage page link state during navigation. |
| 3 | `MI_SEND` (from DataBean) | `Boolean` | Unsent flag — when true, the bean carries data indicating the user wants to filter for records not yet sent. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `JCCWebCommon.clearPageLinkInfo` | JCCWebCommon | - | Clears page link navigation state for SCREEN_ID_KKW12601 before search execution |
| R | `OneStopDataBeanAccessArray.getDataBean` | - | - | Reads data bean arrays for DATA_SBT_INFO, NEW_ADD_SKBT_INFO, SEND_JGI_INFO from the form bean |
| R | `OneStopDataBeanAccess.getDataBean` | - | - | Reads individual data bean entries (index 0) from the above arrays |
| R | `OneStopDataBeanAccess.sendMessageString` | - | - | Retrieves string values from DataBean for index, code list items, search fields, date components, and MI_SEND boolean |
| R | `OneStopDataBeanAccess.sendMessageBoolean` | - | - | Reads the MI_SEND boolean flag from the form bean |
| - | `OneStopDataBeanAccessArray.sendMessageString` | - | - | Sets string values into DataBean fields (all SEARCH_* fields, SORT_NUM, ORDER_NUM, ORDER_TYPE, KANUORESO_CHOICE, KANUORESO_HAKKO_NO) |
| - | `JCCWebCommon.setMessageInfo` | JCCWebCommon | - | Displays validation error message (JPCOnlineMessageConstant.EKB0410_NW) when no search conditions are provided |
| - | `KKW12601SFLogic.beforeSearch` | KKW12601SFLogic | - | Pre-search lifecycle hook — initializes search result state and prepares for execSearch |
| - | `KKW12601SFLogic.execSearch` | KKW12601SFLogic | - | Core search execution — queries the database with captured conditions and populates result DataBean arrays |
| - | `KKW12601SFLogic.afterSearch` | KKW12601SFLogic | - | Post-search lifecycle hook — processes search results, prepares display DataBeans |
| - | `KKW12601SFLogic.isSearchInput` | KKW12601SFLogic | - | Validates that at least one search condition is set |
| - | `JSYwebLog.println` | JSYwebLog | - | Dumps DataBean state to log for debugging |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Mapper:KKSV0143 (Kanaoreso Data Extraction BP) | `KKSV0143_KKSV0143OPDBMapper` → DataBean dispatch → `KKW12601SFLogic.actionSearch` | `beforeSearch` [R] search conditions, `execSearch` [R] Kanaoreso receipt data, `afterSearch` [R] result set |
| 2 | Mapper:KKSV0144 (Yamato Send BP) | `KKSV0144_KKSV0144OPDBMapper` → DataBean dispatch → `KKW12601SFLogic.actionSearch` | `beforeSearch` [R] search conditions, `execSearch` [R] Yamato send targets, `afterSearch` [R] send result set |
| 3 | Mapper:KKSV0145 (Yamato Receive BP) | `KKSV0145_KKSV0145OPDBMapper` → DataBean dispatch → `KKW12601SFLogic.actionSearch` | `beforeSearch` [R] search conditions, `execSearch` [R] Yamato receive files, `afterSearch` [R] receive result set |

**How callers reach actionSearch:**
The KKW12601SFLogic is instantiated and invoked through the X31 web framework's screen dispatch mechanism. Each mapper (KKSV0143, KKSV0144, KKSV0145) handles the T-C mapping (DataBean-to-BP parameter mapping) for a specific sub-job (data extraction, Yamato send, Yamato receive). The framework routes user actions on the KKW12601 screen to the appropriate `KKW12601SFLogic.actionSearch()` entry point, which then dispatches to the relevant BP job via `execSearch`. The caller mappers reference `KKW12601SFLogic` for REQ_JOB_ID constants (e.g., `REQ_JOB_ID_KKSV0143` = "EO2050110J0").

## 6. Per-Branch Detail Blocks

**Block 1** — [INITIALIZATION] `(L327)`

Initialize the result variable and acquire the form DataBean.

| # | Type | Code |
|---|------|------|
| 1 | SET | `result = true` // default success |
| 2 | CALL | `X31SDataBeanAccess bean = super.getServiceFormBean()` // acquire the server form DataBean |

**Block 2** — [EXTRACTION] [Data Type Selection] `(L336-341)`

Extract and convert the selected data type (Japanese: データ種別) from the DataBeanArray form control. This retrieves the display index from `DATA_SBT_INFO`, then converts the index to the actual code value using `CD_DIV_LIST_01` (the Add-to-List lookup).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `X31SDataBeanAccessArray datasbtlist = bean.getDataBeanArray(KKW12601SFConst.DATA_SBT_INFO)` // get data type list |
| 2 | CALL | `X31SDataBeanAccess datasbtBean = datasbtlist.getDataBean(0)` // get first array entry |
| 3 | EXEC | `int datasbtSelIndex = Integer.parseInt(datasbtBean.sendMessageString(INDEX_01, DATABEAN_GET_VALUE))` // parse selected index [INDEX_01 = "add"] |
| 4 | EXEC | `String datasbt_sel = datasbtBean.sendMessageString(CD_DIV_LIST_01, DATABEAN_GET_VALUE, datasbtSelIndex)` // convert index to code value [CD_DIV_LIST_01 = lookup code list] |

**Block 3** — [SET OPERATIONS] [Search Condition: Data Type, System ID, Service Contract No., Date Range, Application No., Customer Name, Group No.] `(L343-372)`

Populate the bean with all primary search parameters. Each field follows the pattern: get value from input field → set into a `SEARCH_`-prefixed field used by the query logic.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(SEARCH_DATA_SBT_CD, DATABEAN_SET_VALUE, datasbt_sel)` // Search data type code [-> Search Result Data Type Code] |
| 2 | SET | `bean.sendMessageString(SEARCH_SYSID, DATABEAN_SET_VALUE, bean.sendMessageString(SYSID, DATABEAN_GET_VALUE))` // Search System ID |
| 3 | SET | `bean.sendMessageString(SEARCH_SVC_KEI_NO, DATABEAN_SET_VALUE, bean.sendMessageString(SVC_KEI_NO, DATABEAN_GET_VALUE))` // Search Service Contract Number |
| 4 | EXEC | `String chshtymd_y_f = bean.sendMessageString(DATA_CHSHT_YEAR_FROM, DATABEAN_GET_VALUE)` // Extract date from year (Japanese: データ抽出日（自）（年）) |
| 5 | EXEC | `String chshtymd_m_f = bean.sendMessageString(DATA_CHSHT_MON_FROM, DATABEAN_GET_VALUE)` // Extract date from month (Japanese: データ抽出日（自）（月）) |
| 6 | EXEC | `String chshtymd_d_f = bean.sendMessageString(DATA_CHSHT_DAY_FROM, DATABEAN_GET_VALUE)` // Extract date from day (Japanese: データ抽出日（自）（日）) |
| 7 | SET | `bean.sendMessageString(SEARCH_CHSHTYMD_FROM, DATABEAN_SET_VALUE, chshtymd_y_f + chshtymd_m_f + chshtymd_d_f)` // Concatenate year+month+day [-> Search Result Data Extraction Date (From)] |
| 8 | EXEC | `String chshtymd_y_t = bean.sendMessageString(DATA_CHSHT_YEAR_TO, DATABEAN_GET_VALUE)` // Extract date to year (Japanese: データ抽出日（至）（年）) |
| 9 | EXEC | `String chshtymd_m_t = bean.sendMessageString(DATA_CHSHT_MON_TO, DATABEAN_GET_VALUE)` // Extract date to month (Japanese: データ抽出日（至）（月）) |
| 10 | EXEC | `String chshtymd_d_t = bean.sendMessageString(DATA_CHSHT_DAY_TO, DATABEAN_GET_VALUE)` // Extract date to day (Japanese: データ抽出日（至）（日）) |
| 11 | SET | `bean.sendMessageString(SEARCH_CHSHTYMD_TO, DATABEAN_SET_VALUE, chshtymd_y_t + chshtymd_m_t + chshtymd_d_t)` // Concatenate [-> Search Result Data Extraction Date (To)] |
| 12 | SET | `bean.sendMessageString(SEARCH_MSKMSHO_NO, DATABEAN_SET_VALUE, bean.sendMessageString(MSKMSHO_NO, DATABEAN_GET_VALUE))` // Search Application Number |
| 13 | SET | `bean.sendMessageString(SEARCH_CUST_NM, DATABEAN_SET_VALUE, bean.sendMessageString(CUST_NM, DATABEAN_GET_VALUE))` // Search Customer Name (Kanji) |
| 14 | SET | `bean.sendMessageString(SEARCH_KAISEN_GRP_NO, DATABEAN_SET_VALUE, bean.sendMessageString(SAME_KAISEN_GRP_NO, DATABEAN_GET_VALUE))` // Search Same Wiring Group Number |

**Block 4** — [EXTRACTION] [New/Addition Identification Flag] `(L375-382)`

Extract and convert the new/addition identification flag (Japanese: 新規追加識別フラグ) from the DataBeanArray form control.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `X31SDataBeanAccessArray newaddskbtlist = bean.getDataBeanArray(KKW12601SFConst.NEW_ADD_SKBT_INFO)` // get new/addition flag list |
| 2 | CALL | `X31SDataBeanAccess newaddskbtBean = newaddskbtlist.getDataBean(0)` // get first entry |
| 3 | EXEC | `int newaddskbtSelIndex = Integer.parseInt(newaddskbtBean.sendMessageString(INDEX_01, DATABEAN_GET_VALUE))` // parse index |
| 4 | EXEC | `String newaddskbt_sel = newaddskbtBean.sendMessageString(CD_DIV_LIST_01, DATABEAN_GET_VALUE, newaddskbtSelIndex)` // convert to code |
| 5 | SET | `bean.sendMessageString(SEARCH_NEW_ADD_SKBT_F, DATABEAN_SET_VALUE, newaddskbt_sel)` // Set new/addition identification flag for search [-> Search Result New Addition Flag] |

**Block 5** — [EXTRACTION] [Send Exclusion Flag] `(L385-392)`

Extract and convert the send exclusion flag (Japanese: 送信除外フラグ) from the DataBeanArray form control.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `X31SDataBeanAccessArray sendjgilist = bean.getDataBeanArray(KKW12601SFConst.SEND_JGI_INFO)` // get send exclusion list |
| 2 | CALL | `X31SDataBeanAccess sendjgiBean = sendjgilist.getDataBean(0)` // get first entry |
| 3 | EXEC | `int sendjgiSelIndex = Integer.parseInt(sendjgiBean.sendMessageString(INDEX_01, DATABEAN_GET_VALUE))` // parse index |
| 4 | EXEC | `String sendjgi_sel = sendjgiBean.sendMessageString(CD_DIV_LIST_01, DATABEAN_GET_VALUE, sendjgiSelIndex)` // convert to code |
| 5 | SET | `bean.sendMessageString(SEARCH_SEND_JGI_FLG, DATABEAN_SET_VALUE, sendjgi_sel)` // Set send exclusion flag for search [-> Search Result Send Exclusion Flag] |

**Block 6** — [IF/ELSE] [MI_SEND Unsent Flag Check] `[MI_SEND_FLG_Y="1"]` `[MI_SEND_FLG_N="0"]` `(L395-408)`

Check the `MI_SEND` (unsent) boolean flag. If true, the search should include records with unsent status (`"1"`). If false, set the search to filter for already-sent records (`"0"`). This was added in ST2-2013-0000313 to handle the case where the unsent flag was not being properly set.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `Boolean mi_send = bean.sendMessageBoolean(MI_SEND, DATABEAN_GET_VALUE)` // Get unsent flag from bean [-> Unsent] |

**Block 6.1** — [IF branch: mi_send == true] `[MI_SEND_FLG_Y="1" (Unsent)]` `(L397-399)`

When MI_SEND is true, set the search parameter to filter for unsent records.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(SEARCH_MI_SEND, DATABEAN_SET_VALUE, MI_SEND_FLG_Y)` // Re-search unsent flag set to "1" [Japanese: 再検索用未送信] |

**Block 6.2** — [ELSE branch: mi_send == false] `[MI_SEND_FLG_N="0" (Sent)]` `(L402-406)`

When MI_SEND is false (Japanese: 未送信フラグ（送信済み）), set the search parameter to filter for already-sent records. Added by ST2-2013-0000313.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(SEARCH_MI_SEND, DATABEAN_SET_VALUE, MI_SEND_FLG_N)` // Re-search unsent flag set to "0" [Japanese: 再検索用未送信] |

**Block 7** — [SET OPERATIONS] [Clear Sort/Selection Form Fields] `(L410-419)`

Clear all sort and selection-related form fields to prepare for a fresh search result display. These fields are used by the result list display and are cleared to prevent stale data from previous searches.

| # | Type | Code |
|---|------|------|
| 1 | SET | `bean.sendMessageString(SORT_NUM, DATABEAN_SET_VALUE, "")` // Clear sort number [-> Sort Number] |
| 2 | SET | `bean.sendMessageString(ORDER_NUM, DATABEAN_SET_VALUE, "")` // Clear sort item number [-> Sort Item No.] |
| 3 | SET | `bean.sendMessageString(ORDER_TYPE, DATABEAN_SET_VALUE, "")` // Clear sort order [-> Sort Order] |
| 4 | SET | `bean.sendMessageString(KANUORESO_CHOICE, DATABEAN_SET_VALUE, "")` // Clear Kanaoreso selection row [-> Added Service Order Receipt Selection Row] |
| 5 | SET | `bean.sendMessageString(KANUORESO_HAKKO_NO, DATABEAN_SET_VALUE, "")` // Clear Kanaoreso issue number [-> Added Service Order Receipt Issue Number] |

**Block 8** — [EXEC] [Clear Page Link Info] `(L422)`

Clear navigation state for the current screen to prevent stale page link information from interfering with the search.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JCCWebCommon.clearPageLinkInfo(this, SCREENID)` // Clear page link info for SCREEN_ID_KKW12601 |

**Block 9** — [CALL] [Pre-Search Lifecycle] `(L425)`

Delegate to the pre-search initialization hook. This prepares the result DataBeans and resets internal search state.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `beforeSearch(bean)` // Pre-search processing [Japanese: 検索系フラグ、および検索結果の初期化] (Search flags and search result initialization) |

**Block 10** — [IF/ELSE] [Search Input Validation] `(L428-440)`

Validate that the user has entered at least one search condition before executing the search. This is a guard clause to prevent empty queries from hitting the database.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `boolean hasConditions = isSearchInput()` // Check if any search condition is set [Japanese: 検索条件が1つ以上設定されていない場合はエラー] (Error if no search conditions are set) |

**Block 10.1** — [IF branch: no conditions set] `(L430-435)`

Display an error message indicating that search conditions must be provided.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String[] msgInfo = {"検索条件"}` // Error message argument: "Search conditions" [Japanese: 検索条件] |
| 2 | CALL | `JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0410_NW, msgInfo)` // Display error message [-> Message output] |

**Block 10.2** — [ELSE branch: conditions exist] `(L437-440)`

Execute the actual search and post-processing when valid conditions are provided.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `execSearch(bean)` // Execute search processing [Japanese: 検索処理実行] (Execute search processing) |
| 2 | CALL | `afterSearch(bean)` // Post-search processing [Japanese: 検索後処理] (Post-search processing) |

**Block 11** — [EXEC] [DataBean Log Dump] `(L443)`

Dump the final DataBean state to the log for debugging purposes.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null)` // Dump DataBean to log [Japanese: DataBeanをログ出力] (Output DataBean to log) |

**Block 12** — [RETURN] `(L445)`

Return the result flag (always true in normal execution).

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return result` // Return true (success) |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `DATA_SBT_INFO` | Field | Data type information — the primary filter category for selecting what kind of Kanaoreso receipt data to search (e.g., extraction, send, receive) |
| `NEW_ADD_SKBT_INFO` | Field | New/addition identification information — flag indicating whether the Kanaoreso receipt is for a new service or an additional service |
| `SEND_JGI_INFO` | Field | Send exclusion information — flag indicating whether to include or exclude records from send processing |
| `DATA_CHSHT_YEAR_FROM` | Field | Data extraction date (from) year — start year for the date range filter [Japanese: データ抽出日（自）（年）] |
| `DATA_CHSHT_MON_FROM` | Field | Data extraction date (from) month — start month for the date range filter [Japanese: データ抽出日（自）（月）] |
| `DATA_CHSHT_DAY_FROM` | Field | Data extraction date (from) day — start day for the date range filter [Japanese: データ抽出日（自）（日）] |
| `DATA_CHSHT_YEAR_TO` | Field | Data extraction date (to) year — end year for the date range filter [Japanese: データ抽出日（至）（年）] |
| `DATA_CHSHT_MON_TO` | Field | Data extraction date (to) month — end month for the date range filter [Japanese: データ抽出日（至）（月）] |
| `DATA_CHSHT_DAY_TO` | Field | Data extraction date (to) day — end day for the date range filter [Japanese: データ抽出日（至）（日）] |
| `MSKMSHO_NO` | Field | Application number — the Kanaoreso application/receipt number used as a search key [Japanese: 申請書番号] |
| `CUST_NM` | Field | Customer name (Kanji) — customer name filter using Kanji characters [Japanese: お客様名（漢字）] |
| `SAME_KAISEN_GRP_NO` | Field | Same wiring group number — groups multiple service lines sharing the same physical wiring [Japanese: 同一回線グループ番号] |
| `MI_SEND` | Field | Unsent flag — indicates whether the record has been sent; when true, the search filters for unsent records [Japanese: 未送信] |
| `SEARCH_DATA_SBT_CD` | Field | Search result data type code — normalized search parameter for data type |
| `SEARCH_SYSID` | Field | Search result System ID — normalized System ID parameter for search |
| `SEARCH_SVC_KEI_NO` | Field | Search result Service Contract Number — normalized contract number for search |
| `SEARCH_CHSHTYMD_FROM` | Field | Search result data extraction date (from) — YYYYMMDD concatenated start date for range search |
| `SEARCH_CHSHTYMD_TO` | Field | Search result data extraction date (to) — YYYYMMDD concatenated end date for range search |
| `SEARCH_MSKMSHO_NO` | Field | Search result application number — normalized application number for search |
| `SEARCH_CUST_NM` | Field | Search result customer name — normalized customer name for search |
| `SEARCH_KAISEN_GRP_NO` | Field | Search result same wiring group number — normalized group number for search |
| `SEARCH_NEW_ADD_SKBT_F` | Field | Search result new/addition identification flag — normalized flag for new vs. additional service |
| `SEARCH_SEND_JGI_FLG` | Field | Search result send exclusion flag — normalized flag for send/exclusion filter |
| `SEARCH_MI_SEND` | Field | Search result unsent flag — filter for sent vs. unsent records [Japanese: 再検索用未送信] |
| `SORT_NUM` | Field | Sort number — result list sort order index [Japanese: ソート番号] |
| `ORDER_NUM` | Field | Sort item number — result list column number for sorting [Japanese: ソート項目No.] |
| `ORDER_TYPE` | Field | Sort order — ascending or descending sort direction [Japanese: ソート順] |
| `KANUORESO_CHOICE` | Field | Kanaoreso selection row — the row index selected by the operator in the result list [Japanese: 入力御礼書選択行] |
| `KANUORESO_HAKKO_NO` | Field | Kanaoreso issue number — the receipt issue/serial number [Japanese: 入力御礼書発行番号] |
| `CD_DIV_LIST_01` | Field | Add-to-List code list — the DataBean method/key for converting array indices into display code values |
| `INDEX_01` | Field | "add" — the DataBean array index key for reading the selected list index value [Japanese: 添え字] |
| `SCREEN_ID_KKW12601` | Field | Screen identifier constant — uniquely identifies the KKW12601 Kanaoreso receipt list confirmation screen |
| REQ_JOB_ID_KKSV0143 | Constant | "EO2050110J0" — Dly (dispatch) processing job ID for Kanaoreso data extraction [Japanese: ディリード処理ID（データ抽出）] |
| REQ_JOB_ID_KKSV0144 | Constant | "EO2050410J0" — Dly processing job ID for Yamato send processing [Japanese: ディリード処理ID（ヤマト送信）] |
| REQ_JOB_ID_KKSV014501 | Constant | "EO2050710J0" — Dly processing job ID for Yamato receive: error file receive [Japanese: ディリード処理ID（ヤマト受信：エラーファイル受信）] |
| REQ_JOB_ID_KKSV014502 | Constant | "EO2050910J0" — Dly processing job ID for Yamato receive: file 1 receive [Japanese: ディリード処理ID（ヤマト受信：件数ファイル1受信）] |
| REQ_JOB_ID_KKSV014503 | Constant | "EO2051110J0" — Dly processing job ID for Yamato receive: file 2 receive [Japanese: ディリード処理ID（ヤマト受信：件数ファイル2受信）] |
| KKW12601SF | Module | Kanaoreso (Added Service Order Receipt) List Confirmation module [Japanese: 入力御礼書一覧照会] |
| Yamato | Business term | Yamato Transport Co. — a logistics partner whose service files (send/receive) are managed through this screen |
| DataBean | Technical | X31 framework data binding object — carries form input and result data between the web screen and logic layer |
| BP | Technical | Business Process — the backend processing job invoked by dispatch (Dly) job IDs |
| Dly | Technical | Dispatch — the asynchronous job dispatching mechanism that queues and runs BP jobs |
| Kanaoreso (Input Oreise) | Business term | Added Service Order Receipt — a receipt document issued to customers for additional services; "nyuryu oreisha" [Japanese: 入力御礼書] |
| X31 | Technical | Fujitsu Futurity web framework — the MVC-based presentation framework used for all screen logic |
| SET_VALUE / GET_VALUE | Constant | Databean operation constants — `DATABEAN_SET_VALUE` and `DATABEAN_GET_VALUE` control read/write operations on DataBean fields |
| JPCOnlineMessageConstant.EKB0410_NW | Constant | Standard error message key — displays "Search conditions not set" warning to the operator |
