# Business Logic — JBSbatKKBndWdtOvrSendPstCrd.execute() [80 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKBndWdtOvrSendPstCrd` |
| Layer | Service (Batch) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKBndWdtOvrSendPstCrd.execute()

This method is the main processing entry point of the **Bandwidth Excess Notification Handler** (帯域制限超過通知ハンドラ作成部品), a batch service responsible for managing customer notifications and enforcement related to FTTH (Fiber To The Home) bandwidth overage. It operates as a dispatch-and-delegate service that accepts an input document (電文), determines whether the customer has received a warning (警告通告) or an enforcement (実施通告) message, optionally invokes the Service Order Data (SOD) issuance service when enforcement is confirmed and it is not the first day of the month, and finally updates the FTTH bandwidth excess achievement records in the database.

The method implements a **dispatch/routing pattern** by parsing the first few characters of the notification message string to classify it as either "Implementation" (実施) or "Notification" (警告), then routing to corresponding branches. It delegates heavy lifting to two private helper methods: `isSingleCheckKKIFM206_INF1` for input validation and `updateFtthTsrckJsk` for database updates.

Its role in the larger system is to serve as the post-processing engine after the system generates bandwidth overage notification documents for FTTH customers — it ensures that enforcement actions trigger SOD issuance, logs appropriate errors, and keeps the `KK_T_FTTH_TSRCK_JSK` (FTTH Bandwidth Excess Achievement) table in sync with the current notification status.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execute inMap"])
    START --> VALID["isSingleCheckKKIFM206_INF1"]
    VALID --> FAIL{"Validation
failed?"}
    FAIL -->|true| ERRFLG["super.commonItem.setErrFlg(true)"]
    ERRFLG --> RETNULL["return null"]
    FAIL -->|false| EXTRACT["Extract svcKeiNo, sysId, msg from inMap"]
    EXTRACT --> INITSEND["sendKbn = null"]
    INITSEND --> MSGCHECK{"msg is not null
and not empty?"}
    MSGCHECK -->|true| SUBCHECK{"msg substring(4,6)
== '実施'"}
    SUBCHECK -->|true| SETJISHI["sendKbn = SEND_KBN_JISHI
= '2' (Implementation)"]
    SUBCHECK -->|false| SETYOKOKU["sendKbn = SEND_KBN_YOKOKU
= '1' (Notification)"]
    MSGCHECK -->|false| SETNONE["sendKbn = SEND_KBN_NONE
= '0' (None)"]
    SETJISHI --> DAYCHECK
    SETYOKOKU --> DAYCHECK
    SETNONE --> DAYCHECK
    DAYCHECK{"sendKbn == '2'
AND
opeDate day != '01'?"}
    DAYCHECK -->|false| UPDATE["updateFtthTsrckJsk"]
    DAYCHECK -->|true| SODPARAM["create inputMap
setSodParam(svcKeiNo, sysId, inputMap)"]
    SODPARAM --> PARAMAP["create paramMap
paramMap.put(USECASE_ID, 'KKSV0571')"]
    PARAMAP --> OUTMAP["create outputMap
JCCBatchEsbInterface.invokeService"]
    OUTMAP --> RCVRCODE["String returnCode =
JCCBatchEsbInterface.getReturnCode(outputMap)"]
    RCVRCODE --> RCCHECK{"returnCode
== '0'?"}
    RCCHECK -->|false| ERRLOG["append err_msg
logPrint.printBusinessErrorLog"]
    ERRLOG --> SBUILD["StringBuilder sb
append svcKeiNo
bandlimit SOD issued"]
    RCCHECK -->|true| SBUILD
    SBUILD --> UPDATE
    UPDATE --> ENDNODE(["return null"])
```

**Branch Summary:**

| Branch | Condition | Constant | Business Meaning |
|--------|-----------|----------|-----------------|
| Input Validation | `!isSingleCheckKKIFM206_INF1(...)` | — | Rejects input with missing or malformed service contract number or SYSID |
| Message Check | `msg != null && !"".equals(msg)` | — | Determines whether a notification message was provided |
| JishI (実施) | `msg.substring(4,6).equals("実施")` | `MSG_STRING_JSHI = "実施"` | Classification: Enforcement/Implementation notification |
| Yokoku (警告) | Else (message has content but prefix != "実施") | — | Classification: Warning notification |
| None (なし) | `msg == null || "".equals(msg)` | — | Classification: No notification |
| SendKbn None | — | `SEND_KBN_NONE = "0"` | No send category — used when message is absent |
| SendKbn Warning | — | `SEND_KBN_YOKOKU = "1"` | Warning dispatch category |
| SendKbn Implementation | — | `SEND_KBN_JISHI = "2"` | Enforcement dispatch category |
| Day-of-Month Guard | `SEND_KBN_JISHI.equals(sendKbn) && !"01".equals(opeDateDay)` | `SEND_KBN_JISHI = "2"` | Enforces OM-2015-0000836: no enforcement on the 1st day of the month |
| SOD Use Case ID | — | `USECASE_ID_KKSV0571 = "KKSV0571"` | Business use case identifier for the invoked service |
| Success Return Code | — | `RETURN_CODE_SUCCESS = "0"` | Expected return code indicating successful service invocation |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `inMap` | `JBSbatServiceInterfaceMap` | The input message (電文) containing bandlimit excess notification data for a specific FTTH customer. Extracts three fields: `SVC_KEI_NO` (Service Contract Number), `SYSID` (System ID), and `TCHI_MSG` (Notification Message) which determines the dispatch category (implementation vs. warning vs. none). |

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

| Field | Type | Business Description |
|-------|------|---------------------|
| `super.opeDate` | `String` | The batch operation date in YYYYMMDD format, inherited from the parent `JBSbatBusinessService`, used for date-based routing (e.g., "not the 1st of the month" guard). |
| `super.commonItem` | `JBSbatCommonItem` | Shared batch context item, used to set the error flag on validation failure and to access logging utilities. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatKKBndWdtOvrSendPstCrd.isSingleCheckKKIFM206_INF1` | — | — | Input validation: checks SVC_KEI_NO and SYSID fields for null/empty and character count validity |
| R | `JBSbatKKBndWdtOvrSendPstCrd.getItemvalueMap` | — | — | Returns the embedded text value map containing error message labels for validation error reporting |
| R | `JBSbatKKIFM206` (field access) | — | — | Constants: SVC_KEI_NO, SYSID, TCHI_MSG keys for input message extraction |
| C | `JCCBatchEsbInterface.invokeService` | — | — | Invokes the SOD (Service Order Data) issuance service with use case ID KKSV0571, creating a new service order |
| R | `JCCBatchEsbInterface.getReturnCode` | — | — | Retrieves the return code from the service invocation output map to check for errors |
| - | `logPrint.printBusinessErrorLog` | — | — | Writes business error log entry "EKKB0010CW" with state code when SOD invocation fails |
| U | `JBSbatKKBndWdtOvrSendPstCrd.updateFtthTsrckJsk` | — | `KK_T_FTTH_TSRCK_JSK` | Updates FTTH bandwidth excess achievement records: sets notification flags, implementation dates, and ISP credentials |
| R | `JBSbatKKBndWdtOvrSendPstCrd.executeKK_T_SVC_KEI_KK_SELECT_180` | — | `KK_T_SVC_KEI` | Queries service contract table by service contract number + operation date to retrieve pricing code (PCRS_CD) and plan code (PPLAN_CD) |
| R | `db_KK_T_SVC_KEI.selectNext` | — | `KK_T_SVC_KEI` | Fetches the next result row from the previous SELECT_180 query |
| R | `JBSbatKKBndWdtOvrSendPstCrd.getTargetNengetsu` | — | — | Calculates the target year/month string for the FTTH usage period based on operation date |
| R | `JBSbatKKBndWdtOvrSendPstCrd.getLastMonthFtthFstYmd` | — | `KK_T_FTTH_TSRCK_JSK` | Retrieves the last month's FTTH first-excess-notification date from the achievement table |
| R | `JBSbatKKBndWdtOvrSendPstCrd.getNinshoId` | — | `KK_T_SVC_KEI_UCWK`, `KK_T_OP_SVC_KEI` | Looks up the ISP authentication ID by traversing service contract details and optional service contract tables |
| R | `JBSbatKKBndWdtOvrSendPstCrd.getMltNinshoId` | — | `KK_T_SVC_KEI_UCWK`, `KK_T_OP_SVC_KEI` | Looks up the multi-selection ISP authentication ID from the same contract detail chain |
| U | `JBSbatKKBndWdtOvrSendPstCrd.lockFtthTsrckJsk` | — | `KK_T_FTTH_TSRCK_JSK` | Acquires a row-level lock on the FTTH bandwidth excess achievement record for safe update |
| U | `JBSbatKKBndWdtOvrSendPstCrd.executeKK_T_FTTH_TSRCK_JSK_PKUPDATE` | — | `KK_T_FTTH_TSRCK_JSK` | Executes the primary key update on the FTTH bandwidth excess achievement table |
| R | `JBSbatCheckUtil.invoke` | — | — | Validates field format (character count/ketasuu2) for SVC_KEI_NO and SYSID |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKBndWdtOvrSendPstCrd | Batch framework entry -> `JBSbatBusinessService.execute` | `isSingleCheckKKIFM206_INF1 [R] KK_T_FTTH_TSRCK_JSK validation` |
| | | | `invokeService [C] SOD issuance (ESB)` |
| | | | `updateFtthTsrckJsk [U] KK_T_FTTH_TSRCK_JSK` |
| | | | `executeKK_T_SVC_KEI_KK_SELECT_180 [R] KK_T_SVC_KEI` |
| | | | `getNinshoId [R] KK_T_SVC_KEI_UCWK, KK_T_OP_SVC_KEI` |
| | | | `getLastMonthFtthFstYmd [R] KK_T_FTTH_TSRCK_JSK` |
| 2 | Batch: JBSbatKKBndWdtOvrSendMl | `JBSbatKKBndWdtOvrSendMl` (similar notification handler for Mail) calls `updateFtthTsrckJsk` at L293 | `updateFtthTsrckJsk [U] KK_T_FTTH_TSRCK_JSK` |

**Notes:** This class is a batch service class that extends `JBSbatBusinessService`. It is not called by screen classes (KKSV*) directly; rather, it is invoked by the batch execution framework using the batch invocation mechanism. A sibling batch class `JBSbatKKBndWdtOvrSendMl` (Mail notification handler) shares the same `updateFtthTsrckJsk` helper method.

## 6. Per-Branch Detail Blocks

**Block 1** — [IF] `!isSingleCheckKKIFM206_INF1(inMap.getMap(), getItemvalueMap())` (L136)

> Input validation guard. Delegates to `isSingleCheckKKIFM206_INF1` which validates that SVC_KEI_NO and SYSID are present and have valid character counts (0–10 digits). If validation fails, sets the error flag and returns null.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `isSingleCheckKKIFM206_INF1(inMap.getMap(), getItemvalueMap())` |
| 2 | SET | `super.commonItem.setErrFlg(true)` // Sets error flag on shared batch context [Error Handling] |
| 3 | RETURN | `return null` // Early exit on validation failure |

**Block 1.1** — [Nested inside Block 1: isSingleCheckKKIFM206_INF1] `SVC_KEI_NO validation` (L259)

> Validates the SVC_KEI_NO (Service Contract Number) field is not null or empty, then checks it passes character count validation (ketasuu2, 0–10 characters).

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("SVC_KEI_NO")` |
| 2 | IF | `strValue == null || "".equals(strValue)` [L262] — null/empty check |
| 2.1 | EXEC | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", ...)` // Required field missing [L265] |
| 2.2 | RETURN | `return false` [L266] |
| 3 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"})` [L271] — format check |
| 3.1 | EXEC | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", ...)` // Invalid format [L274] |
| 3.2 | RETURN | `return false` [L275] |

**Block 1.2** — [Nested inside Block 1: isSingleCheckKKIFM206_INF1] `SYSID validation` (L282)

> Same pattern as Block 1.1 but for the SYSID field.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strValue = (String)rsMap.get("SYSID")` |
| 2 | IF | `strValue == null || "".equals(strValue)` [L285] |
| 2.1 | EXEC | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0060TE", ...)` |
| 2.2 | RETURN | `return false` [L288] |
| 3 | IF | `!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "0", "10"})` [L293] |
| 3.1 | EXEC | `commonItem.getLogPrint().printBusinessErrorLog("EKKB0070TE", ...)` |
| 3.2 | RETURN | `return false` [L296] |
| 4 | RETURN | `return true` [L298] — All validations passed |

**Block 2** — [FIELD EXTRACTION] (L143–L148)

> Extracts three business fields from the input map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiNo = inMap.getString(JBSbatKKIFM206.SVC_KEI_NO)` // Service Contract Number |
| 2 | SET | `sysId = inMap.getString(JBSbatKKIFM206.SYSID)` // System ID |
| 3 | SET | `msg = inMap.getString(JBSbatKKIFM206.TCHI_MSG)` // Notification Message |
| 4 | SET | `sendKbn = null` // Initialize dispatch category |

**Block 3** — [IF/ELSE-IF/ELSE] Message dispatch classification (L152–L163)

> Determines the send category (`sendKbn`) by inspecting the notification message content. Characters at positions 4–5 (substring(4,6)) of the message indicate whether this is an enforcement (実施) or warning (警告) notice. If the message is absent, category is set to None.

| # | Type | Code |
|---|------|------|
| 1 | IF | `null != msg && !"".equals(msg)` [L152] — Message present? |
| 2 | IF | `msg.substring(4,6).equals(MSG_STRING_JSHI)` [L154] — `MSG_STRING_JSHI = "実施"` |
| 2.1 | SET | `sendKbn = SEND_KBN_JISHI` [L156] — `SEND_KBN_JISHI = "2"` (Implementation) |
| 3 | ELSE | [L158] |
| 3.1 | SET | `sendKbn = SEND_KBN_YOKOKU` [L160] — `SEND_KBN_YOKOKU = "1"` (Warning) |
| 4 | ELSE | [L162] |
| 4.1 | SET | `sendKbn = SEND_KBN_NONE` [L164] — `SEND_KBN_NONE = "0"` (None) |

**Block 4** — [IF] SOD issuance guard: `SEND_KBN_JISHI.equals(sendKbn) && !"01".equals(opeDateDay)` (L174–L206)

> **Business description:** If this is an enforcement notification (sendKbn == "2") AND the operation date is NOT the 1st day of the month (OM-2015-0000836 domain restriction), then issue the Service Order Data (SOD) for the bandwidth limit enforcement. This implements the business rule that enforcement actions are never executed on the first calendar day of any month.

| # | Type | Code |
|---|------|------|
| 1 | SET | `opeDateDay = super.opeDate.substring(6, 8)` // Extracts day part of YYYYMMDD [L174] |
| 2 | IF | `SEND_KBN_JISHI.equals(sendKbn) && !"01".equals(opeDateDay)` [L175] — Implementation + not 1st day |
| 2.1 | SET | `inputMap = new HashMap<String, Object>()` [L181] |
| 2.2 | CALL | `setSodParam(svcKeiNo, sysId, inputMap)` [L182] // Sets SVC_KEI_NO, SYSID, title=JKKHakkoSODCC, div=011 in inputMap |
| 2.3 | SET | `paramMap = new HashMap<String, Object>()` [L185] |
| 2.4 | EXEC | `paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, USECASE_ID_KKSV0571)` [L186] — `USECASE_ID_KKSV0571 = "KKSV0571"` |
| 2.5 | SET | `outputMap = new HashMap<String, Object>()` [L189] |
| 2.6 | CALL | `JCCBatchEsbInterface.invokeService(super.commonItem, paramMap, inputMap, outputMap)` [L191] // Invokes SOD issuance service via ESB |
| 2.7 | SET | `returnCode = JCCBatchEsbInterface.getReturnCode(outputMap)` [L193] |
| 3 | IF | `!RETURN_CODE_SUCCESS.equals(returnCode)` [L194] — `RETURN_CODE_SUCCESS = "0"` |
| 3.1 | SET | `err_msg = new StringBuffer()` [L196] |
| 3.2 | EXEC | `err_msg.append("ステータスコード ：" + returnCode)` [L197] // Appends error state code |
| 3.3 | EXEC | `super.logPrint.printBusinessErrorLog("EKKB0010CW", new String[]{err_msg.toString()})` [L198–199] // Logs business error |
| 4 | SET | `sb = new StringBuilder()` [L203] |
| 4.1 | EXEC | `sb.append("サービス契約番号:").append(svcKeiNo).append("の帯域制御実施SODを発行しました。")` [L204] // Builds notification: "Issued bandlimit enforcement SOD for service contract [svcKeiNo]" |

**Block 5** — [METHOD CALL] `updateFtthTsrckJsk(svcKeiNo, sendKbn)` (L208)

> Updates the FTTH bandwidth excess achievement record (`KK_T_FTTH_TSRCK_JSK`). This is a shared helper method (also used by `JBSbatKKBndWdtOvrSendMl`). It queries pricing data from `KK_T_SVC_KEI`, determines the target billing month, and branches on `sendKbn` to set appropriate notification records:
> - **sendKbn == "2" (Implementation):** Sets first-excess-notification date, implementation flag, implementation date, ISP auth ID, and multi-selection auth ID.
> - **sendKbn == "1" (Warning):** Sets today's date as the first-excess-notification date.
> - **sendKbn == "0" (None):** Retrieves last month's first-excess-notification date.
> Then locks the row and performs an atomic primary-key update, throwing an error if no rows were affected.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `updateFtthTsrckJsk(svcKeiNo, sendKbn)` [L208] |

**Block 5.1** — [Inside updateFtthTsrckJsk] Service contract pricing lookup (L537–L545)

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiParam = {svcKeiNo, super.opeDate}` |
| 2 | CALL | `executeKK_T_SVC_KEI_KK_SELECT_180(svcKeiParam)` [R] `KK_T_SVC_KEI` |
| 3 | SET | `resultMap = db_KK_T_SVC_KEI.selectNext()` |
| 4 | IF | `null != resultMap` [L544] |
| 4.1 | SET | `pcrsCd = resultMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD)` // Pricing Code |
| 4.2 | SET | `pplanCd = resultMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD)` // Plan Code |

**Block 5.2** — [Inside updateFtthTsrckJsk] Send category branch (L551–L577)

| # | Type | Code |
|---|------|------|
| 1 | SET | `nengetsu = getTargetNengetsu(0)` [R] — Calculates target year/month |
| 2 | SET | `setMap = new JBSbatCommonDBInterface()` |
| 3 | IF | `SEND_KBN_JISHI.equals(sendKbn)` [L554] — Implementation |
| 3.1 | SET | `ftthFstYmd = getLastMonthFtthFstYmd(svcKeiNo, pcrsCd, pplanCd)` [R] `KK_T_FTTH_TSRCK_JSK` |
| 3.2 | SET | `setMap.setValue(FTTH_TSR_FST_CHOK_TCH_YMD, ftthFstYmd)` |
| 3.3 | SET | `setMap.setValue(TIK_CTL_JSSI_ZM_FLG, "1")` // Implementation flag = on |
| 3.4 | SET | `setMap.setValue(TIK_CTL_JSSI_YMD, super.opeDate)` // Implementation date |
| 3.5 | SET | `ninshoId = getNinshoId(svcKeiNo)` [R] `KK_T_SVC_KEI_UCWK, KK_T_OP_SVC_KEI` |
| 3.6 | SET | `setMap.setValue(ISP_NINSHO_ID, ninshoId)` |
| 3.7 | SET | `mltNinshoId = getMltNinshoId(svcKeiNo)` [R] `KK_T_SVC_KEI_UCWK, KK_T_OP_SVC_KEI` |
| 3.8 | SET | `setMap.setValue(MLTISE_NINSHO_ID, mltNinshoId)` |
| 4 | ELSE-IF | `SEND_KBN_YOKOKU.equals(sendKbn)` [L570] — Warning |
| 4.1 | SET | `setMap.setValue(FTTH_TSR_FST_CHOK_TCH_YMD, super.opeDate)` |
| 5 | ELSE | [L574] — None |
| 5.1 | SET | `ftthFstYmd = getLastMonthFtthFstYmd(svcKeiNo, pcrsCd, pplanCd)` |
| 5.2 | SET | `setMap.setValue(FTTH_TSR_FST_CHOK_TCH_YMD, ftthFstYmd)` |

**Block 5.3** — [Inside updateFtthTsrckJsk] WHERE clause construction and update (L580–L600)

| # | Type | Code |
|---|------|------|
| 1 | SET | `whereMap = new JBSbatCommonDBInterface()` |
| 2 | SET | `whereMap.setValue(SVC_KEI_NO, svcKeiNo)` |
| 3 | SET | `whereMap.setValue(PCRS_CD, pcrsCd)` |
| 4 | SET | `whereMap.setValue(PPLAN_CD, pplanCd)` |
| 5 | SET | `whereMap.setValue(FTTH_TUSHIN_USE_YM, nengetsu)` |
| 6 | CALL | `lockFtthTsrckJsk(svcKeiNo, pcrsCd, pplanCd)` [U] — Row-level lock on `KK_T_FTTH_TSRCK_JSK` |
| 7 | SET | `cnt = executeKK_T_FTTH_TSRCK_JSK_PKUPDATE(setMap, whereMap)` [U] |
| 8 | IF | `1 > cnt` [L599] |
| 8.1 | EXEC | `throw new JBSbatBusinessError()` |

**Block 6** — [RETURN] (L210)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null` // Batch services return null for standard execution |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|-----------------|
| `svc_kei_no` | Field | Service Contract Number — the unique identifier for a customer's FTTH service contract |
| `sys_id` | Field | System ID — the originating system identifier for the batch processing request |
| `tchi_msg` | Field | Notification Message — the text of the bandwidth overage notification sent to the customer |
| `ope_date` | Field | Operation Date — the batch execution date in YYYYMMDD format |
| SOD | Acronym | Service Order Data — a telecom order fulfillment entity that records the issuance of service enforcement actions (帯域制御実施) |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| 帯域制限超過 (Taiiki Seigen Choka) | Japanese term | Bandwidth Limit Exceeded — condition when a customer exceeds their contracted data transfer quota |
| 警告通告 (Keikoku Tsuutsu) | Japanese term | Warning Notification — a preliminary alert sent to a customer before enforcement, dispatched as sendKbn="1" |
| 実施通告 (Jissoku Tsuutsu) | Japanese term | Enforcement Notification — a notice that bandwidth enforcement is being applied, dispatched as sendKbn="2" |
| 帯域制御 (Taiiki Seiatsu) | Japanese term | Bandwidth Control — the action of restricting a customer's data transfer speed after exceeding their quota |
| ISP | Acronym | Internet Service Provider — the network provider associated with the customer's FTTH contract |
| 認証ID (Ninsho ID) | Japanese term | Authentication ID — the ISP's login credential associated with the customer's service |
| マルチセクション認証ID | Japanese term | Multi-selection Authentication ID — secondary ISP credential for customers with multiple service options |
| `pcrs_cd` | Field | Pricing Code — the billing rate code associated with a service contract |
| `pplan_cd` | Field | Plan Code — the specific service plan identifier for a customer's contract |
| KK_T_SVC_KEI | DB Table | Service Contract Master — main table storing FTTH service contract records |
| KK_T_SVC_KEI_UCWK | DB Table | Service Contract Detail — stores service contract line-item details including ISP credentials |
| KK_T_OP_SVC_KEI | DB Table | Optional Service Contract — stores optional/add-on service contract records |
| KK_T_FTTH_TSRCK_JSK | DB Table | FTTH Bandwidth Excess Achievement — tracks FTTH bandwidth overage records, enforcement flags, and notification dates |
| KKSV0571 | Use Case ID | Business use case identifier for the Bandwidth Limit Enforcement SOD issuance flow |
| SEND_KBN | Field | Send Category — dispatch classification: "0"=None, "1"=Warning, "2"=Implementation |
| JISHI | Field Value | Implementation (実施) — the enforcement notification prefix |
| YOKOKU | Field Value | Warning (警告) — the warning notification category |
| EKKB0010CW | Error Code | Business error code for SOD service invocation failure (state code error) |
| EKKB0060TE | Error Code | Business error code for required field missing (SVC_KEI_NO or SYSID) |
| EKKB0070TE | Error Code | Business error code for invalid field format (character count validation failure) |
| OM-2015-0000836 | Change Request | Change request that added the "not the 1st day of the month" guard for enforcement actions |
| 月末翌月 (Matsugetsu Yakuzuki) | Japanese term | Previous month — referenced in v12.00.00 change OM-2015-0000129 for retrieving the prior month's notice period |
| JCCBatchEsbInterface | Class | ESB (Enterprise Service Bus) interface wrapper for batch service invocation |
| `FTTH_TSR_FST_CHOK_TCH_YMD` | Field | FTTH First Excess Notification Date — the date when the customer first exceeded their bandwidth limit |
| `TIK_CTL_JSSI_ZM_FLG` | Field | Band Control Implementation Zero-Flag — flag indicating enforcement has been executed ("1"=executed) |
| `TIK_CTL_JSSI_YMD` | Field | Band Control Implementation Date — the date the enforcement action was applied |
| `FTTH_TUSHIN_USE_YM` | Field | FTTH Communication Usage Year/Month — the billing period for FTTH usage tracking |
| `kokasu2` (ketasuu2) | Validation Rule | Character count validation rule (0–10 digits) applied to SVC_KEI_NO and SYSID fields |
| `JKKHakkoSODCC` | Constant | CC (Common Component) title for Service Order Data issuance — used as the order title in SOD parameters |
| `SYORI_DIV_011` | Constant | Processing category "011" — indicates Band Limit Enforcement in SOD order classification |