# Business Logic — KKA16701SFLogic.singleChkForOneStop() [167 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKA16701SF.KKA16701SFLogic` |
| Layer | Service Component / Logic (WebView layer — part of the KKA16701SF one-stop API screen logic) |
| Module | `KKA16701SF` (Package: `eo.web.webview.KKA16701SF`) |

## 1. Role

### KKA16701SFLogic.singleChkForOneStop()

This method serves as the **single-item validation entry point for the One Stop (ワンストップ) API**, performing comprehensive input validation on all fields submitted by a customer-facing web service consumer. In NTT data center/enterprise operations management systems — specifically the NTT Docomo customer base system — the "One Stop" functionality enables customers to request various service operations through a single unified API endpoint, eliminating the need to navigate multiple screens. This method acts as the **gatekeeper** for that API: it validates every field in the incoming request map, collecting format errors, length violations, and reference constraint breaches into a unified error list before any downstream business logic is permitted to execute. The method applies a **consistent three-phase validation pattern** — null/mandatory check, format/charset validation, and length/range validation — across eight distinct fields, with selective enforcement of optional fields (via `containsKey` checks) versus mandatory fields (via `checkRequireNotNull`). It implements a **delegation design pattern**, routing format checks to `HalfCharCheck`, `MixCharCheck`, and `LengthCheck` utility classes, and error-map creation to `JKKOneStopApiCommonUtil`. Its role in the larger system is a **pre-processing filter**: if any validation errors are detected, it immediately returns `false` with a structured error response (via `setReturnXml`); only when the entire request passes all checks does it return `true`, allowing the caller to proceed to actual business processing.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["singleChkForOneStop"])
    C1["Check func_code"]
    C1A{func_code null}
    C1B{func_code number}
    C1C{func_code len=1}
    C1D{func_code valid}
    C1E["Add func_code errors"]

    C2["Check sysid"]
    C2A{sysid null}
    C2B{sysid en_number}
    C2C{sysid len=10}
    C2E["Add sysid errors"]

    C3["Check svc_kei_no"]
    C3A{svc_kei_no null}
    C3B{svc_kei_no en_number}
    C3C{svc_kei_no len=10}
    C3E["Add svc_kei_no errors"]

    C4["Check ido_rsn_dbri_cd"]
    C4A{ido_rsn_dbri_cd null}
    C4B{ido_rsn_dbri_cd en_number}
    C4C{ido_rsn_dbri_cd len=2}
    C4E["Add ido_rsn_dbri_cd errors"]

    C5["Check ido_rsn_cbri_cd"]
    C5A{ido_rsn_cbri_cd key}
    C5B{ido_rsn_cbri_cd en_number}
    C5C{ido_rsn_cbri_cd len=2}
    C5E["Add ido_rsn_cbri_cd errors"]

    C6["Check ido_rsn_memo"]
    C6A{ido_rsn_memo key}
    C6B{ido_rsn_memo mix}
    C6C{ido_rsn_memo len 1-100}
    C6E["Add ido_rsn_memo errors"]

    C7["Check user_id"]
    C7A{user_id null}
    C7B{user_id en_number}
    C7C{user_id len 6-10}
    C7E["Add user_id errors"]

    CERR{errList empty}
    FAIL["setReturnXml and return false"]
    PASS["return true"]

    START --> C1
    C1 --> C1A
    C1A -- false --> C1E --> C2
    C1A -- true --> C1B
    C1B -- false --> C1E
    C1B -- true --> C1C
    C1C -- false --> C1E
    C1C -- true --> C1D
    C1D -- false --> C1E
    C1D -- true --> C2
    C2 --> C2A
    C2A -- false --> C2E --> C3
    C2A -- true --> C2B
    C2B -- false --> C2E
    C2B -- true --> C2C
    C2C -- false --> C2E
    C2C -- true --> C3
    C3 --> C3A
    C3A -- false --> C3E --> C4
    C3A -- true --> C3B
    C3B -- false --> C3E
    C3B -- true --> C3C
    C3C -- false --> C3E
    C3C -- true --> C4
    C4 --> C4A
    C4A -- false --> C4E --> C5
    C4A -- true --> C4B
    C4B -- false --> C4E
    C4B -- true --> C4C
    C4C -- false --> C4E
    C4C -- true --> C5
    C5 --> C5A
    C5A -- false --> C6
    C5A -- true --> C5B
    C5B -- false --> C5E
    C5B -- true --> C5C
    C5C -- false --> C5E
    C5C -- true --> C6
    C6 --> C6A
    C6A -- false --> C7
    C6A -- true --> C6B
    C6B -- false --> C6E
    C6B -- true --> C6C
    C6C -- false --> C6E
    C6C -- true --> C7
    C7 --> C7A
    C7A -- false --> C7E --> CERR
    C7A -- true --> C7B
    C7B -- false --> C7E
    C7B -- true --> C7C
    C7C -- false --> C7E
    C7C -- true --> CERR
    C1E --> C2
    C2E --> C3
    C3E --> C4
    C4E --> C5
    C5E --> C6
    C6E --> C7
    C7E --> CERR
    CERR -- false --> FAIL
    CERR -- true --> PASS
```

**Validation summary per field:**

| Field | Mandatory | Format | Length | Reference |
|-------|-----------|--------|--------|-----------|
| `func_code` | Yes | `isNumber1Check` (single digit) | 1 | Must be `"1"` (Check & Register) or `"2"` (Check Only) |
| `sysid` | Yes | `isEnNumber1Check` (alphanumeric) | 10 | — |
| `svc_kei_no` | Yes | `isEnNumber1Check` (alphanumeric) | 10 | — |
| `ido_rsn_dbri_cd` | Yes | `isEnNumber1Check` (alphanumeric) | 2 | — |
| `ido_rsn_cbri_cd` | No (`containsKey`) | `isEnNumber1Check` (alphanumeric) | 2 | — |
| `ido_rsn_memo` | No (`containsKey`) | `isMix1Check` (mixed chars) | 1–100 | — |
| `user_id` | Yes | `isEnNumber1Check` (alphanumeric) | 6–10 | — |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none — reads from instance field) | — | — |

This method does not accept method-level parameters. Instead, it operates on **instance fields** that are populated by the caller (`apiControl`) from the incoming API request payload:

| Instance Field | Type | Business Description |
|---------------|------|---------------------|
| `requestMap` | `Map<String, String>` | The full request parameter map parsed from the incoming API call. Keys are field names (e.g., `"func_code"`, `"sysid"`), values are their string contents. This is the primary input for all validation checks. |

No external DB or service-side state is read by this method. All checks operate purely on the input data.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JKKOneStopApiCommonUtil.checkRequireNotNull` | JKKOneStopApiCommon | - | Validates that a requested key exists in `requestMap` and is not null/empty; used for mandatory field checks |
| R | `JKKOneStopApiCommonUtil.getReqErrInfMap` | JKKOneStopApiCommon | - | Creates an error map for a missing or null mandatory field |
| R | `JKKOneStopApiCommonUtil.getFormErrInfMap` | JKKOneStopApiCommon | - | Creates an error map for a format/charset validation failure (wrong character type) |
| R | `JKKOneStopApiCommonUtil.getLenErrInfMap` | JKKOneStopApiCommon | - | Creates an error map for a length/range validation failure |
| R | `JKKOneStopApiCommonUtil.getRefErrInfMap` | JKKOneStopApiCommon | - | Creates an error map for a reference constraint failure (value not in allowed set) |
| R | `JFUWebCommon.isNumber1Check` | JFUWebCommon | - | Validates a string contains exactly one numeric digit |
| R | `JFUWebCommon.isEnNumber1Check` | JFUWebCommon | - | Validates a string contains alphanumeric characters (letters and/or digits) |
| R | `JFUWebCommon.isMix1Check` | JFUWebCommon | - | Validates a string contains mixed character types (supports alphanumeric + Unicode) |
| R | `JFUWebCommon.isLength1Check` | JFUWebCommon | - | Validates a string's length equals exactly a specified number |
| R | `JFUWebCommon.isLength2Check` | JFUWebCommon | - | Validates a string's length falls within a specified inclusive range |
| - | `JKKOneStopApiCommonUtil.setReturnXml` | JKKOneStopApiCommon | - | Constructs and sets the XML error response with error code "10" when validation fails |

**CRUD Summary:** This method performs **zero data mutations**. It is a pure **validation (read-only) operation** — every called service either checks input values or creates error information maps. No Create, Update, or Delete operations exist on any DB table or entity.

## 5. Dependency Trace

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

No screen/batch entry points found within 8 hops. Direct callers found: 1 methods.
Terminal operations from this method: `setReturnXml` [-], `setReturnXml` [-], `getLenErrInfMap` [R], `getLenErrInfMap` [R], `getLenErrInfMap` [R], `getLenErrInfMap` [R], `getLenErrInfMap` [R], `getFormErrInfMap` [R], `getFormErrInfMap` [R], `getFormErrInfMap` [R], `getFormErrInfMap` [R], `getFormErrInfMap` [R], `getReqErrInfMap` [R], `getReqErrInfMap` [R], `getReqErrInfMap` [R], `getReqErrInfMap` [R], `getReqErrInfMap` [R], `checkRequireNotNull` [-], `getLenErrInfMap` [R]

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `KKA16701SFLogic.apiControl()` | `apiControl` -> `singleChkForOneStop` | `setReturnXml [-]`, `getReqErrInfMap [R]`, `getFormErrInfMap [R]`, `getLenErrInfMap [R]`, `getRefErrInfMap [R]`, `checkRequireNotNull [-]` |

**Caller analysis:** `apiControl()` is the method-level API handler within `KKA16701SFLogic` itself. It orchestrates the full request lifecycle: parsing the API payload into `requestMap`, calling `singleChkForOneStop()` for validation, and then proceeding to downstream business processing only if validation returns `true`. The method is exclusively used as an **API gateway validator** within the One Stop service flow.

## 6. Per-Branch Detail Blocks

### Block 1 — IF [Mandatory check] `(func_code not null)` (L451)

> Validates the mandatory `func_code` field (function code) — identifies whether the caller is requesting a check-and-register or check-only operation.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, "func_code")` // Mandatory field check |
| 2a | SET | `itemName = "func_code"` // Javadoc: 機能コード (Function code) |
| 2b | EXEC | `requestMap.get("func_code")` // Extract value from request map |

#### Block 1.1 — ELSE [Format check] `(func_code is a single digit)` (L460)

> After confirming `func_code` is present, verify it contains exactly one numeric digit.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("func_code")` |
| 2 | EXEC | `HalfCharCheck.isNumber1Check(itemValue)` // Must be a single numeric digit |
| 3 | IF | `!isNumber1Check(itemValue)` → if **true**, add format error |
| 3a | SET | `itemName = "func_code"` |
| 3b | CALL | `JKKOneStopApiCommonUtil.getFormErrInfMap(itemName)` // Creates error map: format error |
| 3c | EXEC | `errList.add(...)` // Append format error to error list |

#### Block 1.2 — ELSE [Length check] `(func_code length = 1)` (L466)

> After format passes, verify length is exactly 1.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength1Check(itemValue, 1)` // Must be exactly 1 character |
| 2 | IF | `!isLength1Check(itemValue, 1)` → if **true**, add length error |
| 2a | SET | `itemName = "func_code"` |
| 2b | CALL | `JKKOneStopApiCommonUtil.getLenErrInfMap(itemName)` // Creates error map: length error |
| 2c | EXEC | `errList.add(...)` |

#### Block 1.3 — ELSE [Reference check] `[FUNC_CODE_1="1" OR FUNC_CODE_2="2"]` (L472)

> After format and length pass, verify the value is one of the two allowed function codes.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!FUNC_CODE_1.equals(itemValue) && !FUNC_CODE_2.equals(itemValue)` // `FUNC_CODE_1="1"` (Check & Register), `FUNC_CODE_2="2"` (Check Only) |
| 1a | SET | `itemName = "func_code"` |
| 1b | CALL | `JKKOneStopApiCommonUtil.getRefErrInfMap(itemName)` // Creates error map: reference error |
| 1c | EXEC | `errList.add(...)` |

---

### Block 2 — IF [Mandatory check] `(sysid not null)` (L480)

> Validates the mandatory `sysid` field (system identifier). This identifies which system component is making the API call.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemName = "sysid"` // Javadoc: SYSID (system identifier) |
| 2 | CALL | `JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, "sysid")` |
| 2a | IF | `!checkRequireNotNull(...)` → if **true**, add mandatory error |
| 2b | SET | `itemName = "sysid"` |
| 2c | CALL | `JKKOneStopApiCommonUtil.getReqErrInfMap(itemName)` |
| 2d | EXEC | `errList.add(...)` |

#### Block 2.1 — ELSE [Format check] `(sysid is alphanumeric)` (L489)

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("sysid")` |
| 2 | EXEC | `HalfCharCheck.isEnNumber1Check(itemValue)` // Alphanumeric check |
| 3 | IF | `!isEnNumber1Check(itemValue)` → if **true**, add format error |
| 3a–3c | SET/CALL/EXEC | Same pattern: `getFormErrInfMap` → `errList.add(...)` |

#### Block 2.2 — ELSE [Length check] `(sysid length = 10)` (L495)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength1Check(itemValue, 10)` // Exactly 10 characters |
| 2 | IF | `!isLength1Check(itemValue, 10)` → if **true**, add length error |
| 2a–2c | SET/CALL/EXEC | Same pattern: `getLenErrInfMap` → `errList.add(...)` |

---

### Block 3 — IF [Mandatory check] `(svc_kei_no not null)` (L503)

> Validates the mandatory `svc_kei_no` field (service contract number). This is the primary identifier for the customer's service contract line.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemName = "svc_kei_no"` // Javadoc: サービス契約番号 (Service contract number) |
| 2 | CALL | `JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, "svc_kei_no")` |
| 2a–2d | SET/IF/CALL/EXEC | Mandatory error check pattern |

#### Block 3.1 — ELSE [Format check] `(svc_kei_no is alphanumeric)` (L512)

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("svc_kei_no")` |
| 2 | EXEC | `HalfCharCheck.isEnNumber1Check(itemValue)` |
| 3 | IF | `!isEnNumber1Check(itemValue)` → format error |
| 3a–3c | `getFormErrInfMap` → `errList.add(...)` |

#### Block 3.2 — ELSE [Length check] `(svc_kei_no length = 10)` (L518)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength1Check(itemValue, 10)` |
| 2 | IF | `!isLength1Check(itemValue, 10)` → length error |
| 2a–2c | `getLenErrInfMap` → `errList.add(...)` |

---

### Block 4 — IF [Mandatory check] `(ido_rsn_dbri_cd not null)` (L526)

> Validates the mandatory `ido_rsn_dbri_cd` field (displacement reason broad classification code). This categorizes the general type of service change/move.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemName = "ido_rsn_dbri_cd"` // Javadoc: 変動理由大分類コード (Displacement reason broad classification code) |
| 2 | CALL | `JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, "ido_rsn_dbri_cd")` |
| 2a–2d | SET/IF/CALL/EXEC | Mandatory error check pattern |

#### Block 4.1 — ELSE [Format check] `(ido_rsn_dbri_cd is alphanumeric)` (L535)

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("ido_rsn_dbri_cd")` |
| 2 | EXEC | `HalfCharCheck.isEnNumber1Check(itemValue)` |
| 3 | IF | `!isEnNumber1Check(itemValue)` → format error |
| 3a–3c | `getFormErrInfMap` → `errList.add(...)` |

#### Block 4.2 — ELSE [Length check] `(ido_rsn_dbri_cd length = 2)` (L541)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength1Check(itemValue, 2)` |
| 2 | IF | `!isLength1Check(itemValue, 2)` → length error |
| 2a–2c | `getLenErrInfMap` → `errList.add(...)` |

---

### Block 5 — IF/ELSE [Optional check] `(ido_rsn_cbri_cd containsKey)` (L549)

> Validates the **optional** `ido_rsn_cbri_cd` field (displacement reason sub-classification code). Only validated if the key is present in the request — unlike all other fields above, absence here is not an error.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemName = "ido_rsn_cbri_cd"` // Javadoc: 変動理由中分類コード (Displacement reason sub-classification code) |
| 2 | IF | `requestMap.containsKey("ido_rsn_cbri_cd")` — **Optional field guard** |

#### Block 5.1 — ELSE-BRANCH [Format check] `(ido_rsn_cbri_cd is alphanumeric)` (L555)

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("ido_rsn_cbri_cd")` |
| 2 | EXEC | `HalfCharCheck.isEnNumber1Check(itemValue)` |
| 3 | IF | `!isEnNumber1Check(itemValue)` → format error |
| 3a–3c | `getFormErrInfMap` → `errList.add(...)` |

#### Block 5.2 — ELSE-BRANCH [Length check] `(ido_rsn_cbri_cd length = 2)` (L561)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength1Check(itemValue, 2)` |
| 2 | IF | `!isLength1Check(itemValue, 2)` → length error |
| 2a–2c | `getLenErrInfMap` → `errList.add(...)` |

---

### Block 6 — IF/ELSE [Optional check] `(ido_rsn_memo containsKey)` (L569)

> Validates the **optional** `ido_rsn_memo` field (displacement reason memo/free-text). Uses mixed-character validation (`isMix1Check`) to support Japanese/Unicode characters in the memo field. Added under ticket IT1-2015-0000095 for the One Stop project.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemName = "ido_rsn_memo"` // Javadoc: 変動理由メモ (Displacement reason memo) |
| 2 | IF | `requestMap.containsKey("ido_rsn_memo")` — **Optional field guard** |

#### Block 6.1 — ELSE-BRANCH [Format check] `(ido_rsn_memo mixed chars)` (L575)

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("ido_rsn_memo")` |
| 2 | EXEC | `MixCharCheck.isMix1Check(itemValue)` // Supports mixed character types (Japanese + alphanumeric) |
| 3 | IF | `!isMix1Check(itemValue)` → format error |
| 3a–3c | `getFormErrInfMap` → `errList.add(...)` |

#### Block 6.2 — ELSE-BRANCH [Length check] `(ido_rsn_memo length 1–100)` (L582)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength2Check(itemValue, 1, 100)` // Range: 1 to 100 characters |
| 2 | IF | `!isLength2Check(itemValue, 1, 100)` → length error |
| 2a–2c | `getLenErrInfMap` → `errList.add(...)` |

---

### Block 7 — IF [Mandatory check] `(user_id not null)` (L590)

> Validates the mandatory `user_id` field (user ID / authentication ID). This identifies the specific user account performing the API operation.

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemName = "user_id"` // Javadoc: ユーザID (User ID) |
| 2 | CALL | `JKKOneStopApiCommonUtil.checkRequireNotNull(requestMap, "user_id")` |
| 2a–2d | SET/IF/CALL/EXEC | Mandatory error check pattern |

#### Block 7.1 — ELSE [Format check] `(user_id is alphanumeric)` (L599)

| # | Type | Code |
|---|------|------|
| 1 | SET | `itemValue = (String)requestMap.get("user_id")` |
| 2 | EXEC | `HalfCharCheck.isEnNumber1Check(itemValue)` |
| 3 | IF | `!isEnNumber1Check(itemValue)` → format error |
| 3a–3c | `getFormErrInfMap` → `errList.add(...)` |

#### Block 7.2 — ELSE [Length check] `(user_id length 6–10)` (L605)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `LengthCheck.isLength2Check(itemValue, 6, 10)` // Range: 6 to 10 characters |
| 2 | IF | `!isLength2Check(itemValue, 6, 10)` → length error |
| 2a–2c | `getLenErrInfMap` → `errList.add(...)` |

---

### Block 8 — IF/ELSE [Error result check] `(errList.size > 0)` (L610)

> Final decision point: if any validation errors were accumulated during the eight field checks, construct and return the error response. Otherwise, pass control to downstream processing.

| # | Type | Code |
|---|------|------|
| 1 | IF | `errList.size() > 0` |
| 2a | CALL | `JKKOneStopApiCommonUtil.setReturnXml(this, "10", errList, warnList, funcCode, IF_ID)` // Sets XML error response with error code "10" |
| 2b | RETURN | `return false` // Signals validation failure |
| 3 | RETURN | `return true` // All checks passed — allow downstream processing |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `func_code` | Field | Function code — identifies the operation type: `"1"` = Check and Register, `"2"` = Check Only. The single-digit numeric value controls whether the downstream processing will actually modify data or merely validate. |
| `sysid` | Field | System identifier — a 10-character alphanumeric code identifying the source system or component making the API request. Used for audit trails and routing. |
| `svc_kei_no` | Field | Service contract number — the primary identifier for a customer's service contract line item. 10-character alphanumeric. This links all operations to a specific customer/service relationship. |
| `ido_rsn_dbri_cd` | Field | Displacement reason broad classification code — a 2-character code categorizing the general type of service change/move (e.g., new connection, relocation, suspension). "Broad classification" is the highest-level category in a hierarchical classification scheme. |
| `ido_rsn_cbri_cd` | Field | Displacement reason sub-classification code — a 2-character code providing a more granular categorization within a broad classification. Optional field; only validated if present in the request. |
| `ido_rsn_memo` | Field | Displacement reason memo — free-text field (1–100 characters) for additional context about the service change. Supports mixed character types including Japanese characters. Added under ticket IT1-2015-0000095. |
| `user_id` | Field | User ID / authentication ID — the 6–10 character alphanumeric identifier of the user account performing the API operation. Used for access control and audit logging. |
| `requestMap` | Field | Request parameter map — the parsed input map from the incoming API request. Keys are field names, values are their string contents. |
| `errList` | Local | Error list — an in-memory list of error maps accumulated during validation. Each map contains field name, error type, and description. Populated by all validation blocks. |
| `warnList` | Field | Warning list — instance field (inherited from parent class) for non-fatal warnings. Not directly populated by this method but passed to `setReturnXml`. |
| `funcCode` | Field | Function code — instance field holding the overall function code context, passed to `setReturnXml` for response construction. |
| `IF_ID` | Field | Interface identifier — instance field identifying the API interface being used, passed to `setReturnXml` for routing the response. |
| `checkRequireNotNull` | Method | Mandatory field validator — checks that a key exists in the request map and its value is not null or empty. Returns `true` if the field is valid. |
| `getReqErrInfMap` | Method | Error information factory — creates a standardized error map for a missing/null mandatory field. |
| `getFormErrInfMap` | Method | Error information factory — creates a standardized error map for a format/character type validation failure. |
| `getLenErrInfMap` | Method | Error information factory — creates a standardized error map for a length/range validation failure. |
| `getRefErrInfMap` | Method | Error information factory — creates a standardized error map for a reference constraint failure (value not in allowed set). |
| `setReturnXml` | Method | Response builder — constructs an XML error response payload and stores it in the response context. Error code "10" indicates validation failure. |
| `isNumber1Check` | Method | Format validator — checks that a string contains exactly one numeric digit (0–9). |
| `isEnNumber1Check` | Method | Format validator — checks that a string contains alphanumeric characters (letters A–Z, a–z, digits 0–9). |
| `isMix1Check` | Method | Format validator — checks that a string contains mixed character types, including Unicode/Japanese characters. Used for memo fields. |
| `isLength1Check` | Method | Length validator — checks that a string's length equals exactly a specified number. |
| `isLength2Check` | Method | Length validator — checks that a string's length falls within a specified inclusive range (min, max). |
| `FUNC_CODE_1` | Constant | `"1"` — Check and Register function code. Triggers both validation and data registration in downstream processing. |
| `FUNC_CODE_2` | Constant | `"2"` — Check Only function code. Triggers validation but no data modification. |
| ワンストップ | Japanese term | "One Stop" — a service design approach that consolidates multiple customer-facing service operations (registration, modification, cancellation) into a single unified API endpoint, reducing the number of screens and interfaces customers must use. |
| 機能コード | Japanese term | Function code — the `func_code` field that identifies the type of operation requested from the One Stop API. |
| 必須チェック | Japanese term | Mandatory check — validation that confirms a required field is present and non-null in the request. |
| 形式チェック | Japanese term | Format check — validation that confirms a field's value matches the expected character type (numeric, alphanumeric, mixed). |
| 桁数チェック | Japanese term | Length check — validation that confirms a field's string length falls within the specified bounds. |
| リファレンスチェック | Japanese term | Reference check — validation that confirms a field's value is within an allowed set of values (e.g., function code must be "1" or "2"). |
| 変動理由大分類コード | Japanese term | Displacement reason broad classification code — the `ido_rsn_dbri_cd` field. |
| 変動理由中分類コード | Japanese term | Displacement reason sub-classification code — the `ido_rsn_cbri_cd` field. |
| 変動理由メモ | Japanese term | Displacement reason memo — the `ido_rsn_memo` field. |
| サービス契約番号 | Japanese term | Service contract number — the `svc_kei_no` field. |
| ユーザID | Japanese term | User ID — the `user_id` field. |
| KKA16701SF | Module | The One Stop API screen module — handles API-based service change requests for the K-Opticom customer base system. |
| JKKOneStopApiCommonUtil | Class | Shared utility class for One Stop API operations — provides common validation helpers, error map factories, and XML response construction. |
| JKKCommonConst | Class | Shared constant definitions — contains standard constant values used across the webview module, including `FUNC_CODE_1`, `FUNC_CODE_2`, and contract item field key names. |
| HalfCharCheck | Class | Character type checker utility — provides `isNumber1Check` and `isEnNumber1Check` methods. Part of the Fujitsu Futurity model library. |
| LengthCheck | Class | Length validator utility — provides `isLength1Check` and `isLength2Check` methods. Part of the Fujitsu Futurity model library. |
| MixCharCheck | Class | Mixed character type checker utility — provides `isMix1Check` for validating strings with mixed character types including Unicode. Part of the Fujitsu Futurity model library. |
