# Business Logic — JBSbatKKAdEmgSODSendOutput.execute() [124 LOC]

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

## 1. Role

### JBSbatKKAdEmgSODSendOutput.execute()

This method implements the **Emergency Notification SOD Send Output** business process. "SOD" stands for *Service Order Data* — a telecom order fulfillment entity used to track service changes and registrations. In this context, the method handles the creation of an emergency notification order triggered by an address change (`CHG_AD_JGRTWK` — Change Address Registration Work) that requires immediate processing.

The method performs three core operations in sequence: (1) it inserts a new row into the **Order Issuance Conditions** table (`KK_T_ODR_HAKKO_JOKEN`) to record the emergency order metadata with a generated order number, fixed service codes (emergency notification = order type "4", service order code "24", request type "04" for change, issuance condition "01" for immediate), and the target service type; (2) it inserts a row into the **Order Information Creation Work** table (`KK_T_ODR_INF_SKSI_WK`) to capture the order content with the generated order info work number and timestamps; (3) it builds and returns an output map (`JBSbatServiceInterfaceMap`) containing the emergency SOD send data including the customer's address (either the new address if `NEW_AD_CD` is present, or the old address otherwise), with address fields reformatted (postal code converted from full-width to half-width digits). After assembling the output, it updates the **Change Address Registration Work** table (`KK_T_CHG_AD_JGRTWK`) to mark the address change tracking status as "9" (completed/recorded).

This method implements the **Builder pattern** for output data construction and **delegation** for database operations — it constructs data objects (`JBSbatCommonDBInterface`) and delegates INSERT/UPDATE to SQL access classes. It is a **batch shared utility** called by many screens/CBS (Communication Between Systems) as part of the emergency SOD notification workflow. The method acts as a dispatcher, assembling the output payload for downstream processing and ensuring the source address change work record is updated to reflect completion.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execute(inMap)"])
    START --> S1["Generate order_no via SEQ_ODR_HAKKO_JOKEN_NO sequence (12 digits)"]
    S1 --> S2["Extract SVC_KEI_NO, SVC_KEI_UCWK_NO, CHG_AD_JGRTWK_NO from inMap"]
    S2 --> S3["Build dbList: order_no, svc_kei_cd, svc_kei_ucwk_cd, ORDER_SBT_CD='4', SVC_ORDER_CD='24', YOKYU_SBT_CD='04', ODR_HAKKO_JOKEN_CD='01'"]
    S3 --> S4["INSERT KK_T_ODR_HAKKO_JOKEN via KK_INSERT_002"]
    S4 --> S5["Generate orderInfoCd via SEQ_ODR_INF_SKSI_WK_NO sequence (12 digits)"]
    S5 --> S6["Build dbList: orderInfoCd, order_no, ORDER_NAIYO_CD='251', svc_kei_cd, GENE_ADD_DTM, GENE_ADD_DTM_UCWK, 13 nulls"]
    S6 --> S7["INSERT KK_T_ODR_INF_SKSI_WK via KK_INSERT_001"]
    S7 --> S8["Build rsMap with SVC_KEI_NO from inMap"]
    S8 --> COND{Has NEW_AD_CD in inMap?}
    COND -->|Yes - NEW_AD_CD != null| NEW_ADDR["Use NEW address: NEW_AD_CD, NEW_STATE_NM+NEW_CITY_NM+NEW_OAZTSU_NM+NEW_AZCHO_NM, NEW_PCD (full-width to half-width), NEW_PCD"]
    COND -->|No - NEW_AD_CD == null| OLD_ADDR["Use OLD address: AD_CD, STATE_NM+CITY_NM+OAZTSU_NM+AZCHO_NM, PCD (full-width to half-width), PCD"]
    NEW_ADDR --> S9["Set rsMap: AD_CD, PCD (half-width), ADD1 (concatenated), ADD2 (OLD_BNCHIGO), ADD3 (OLD_ADRTTM+OLD_ADRRM)"]
    OLD_ADDR --> S9
    S9 --> S10["Create outMap, setOutFlg=true, setMap(rsMap)"]
    S10 --> S11["Create outputBean, addOutMapList(outMap)"]
    S11 --> S12["Set valueMap: AD_TOHAIGO_TRN_STAT_CD='9'"]
    S12 --> S13["Set whereMap: CHG_AD_JGRTWK_NO=strChgAdJgrtwkNo"]
    S13 --> S14["UPDATE KK_T_CHG_AD_JGRTWK via updateByPrimaryKeys"]
    S14 --> END(["Return outputBean with outMap"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `inMap` | `JBSbatServiceInterfaceMap` | The input message carrying all source data for the emergency notification SOD creation process. It contains the service type number (`SVC_KEI_NO`), service detail work number (`SVC_KEI_UCWK_NO`), change address registration work number (`CHG_AD_JGRTWK_NO`), new address fields (`NEW_AD_CD`, `NEW_STATE_NM`, `NEW_CITY_NM`, `NEW_OAZTSU_NM`, `NEW_AZCHO_NM`, `NEW_PCD`), old address fields (`STATE_NM`, `CITY_NM`, `OAZTSU_NM`, `AZCHO_NM`, `AD_CD`, `PCD`, `OLD_BNCHIGO`, `OLD_ADRTTM`, `OLD_ADRRM`), and generation timestamps (`GENE_ADD_DTM`, `GENE_ADD_DTM_UCWK`). The presence or absence of `NEW_AD_CD` determines whether the method uses the new address or falls back to the old address for the output payload. |

**Instance fields read by the method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `db_KK_T_ODR_HAKKO_JOKEN` | `JBSbatSQLAccess` | Database access object for the Order Issuance Conditions table (`KK_T_ODR_HAKKO_JOKEN`). Provides `executeBySqlDefine()` for INSERT operations. |
| `db_KK_T_ODR_INF_SKSI_WK` | `JBSbatSQLAccess` | Database access object for the Order Information Creation Work table (`KK_T_ODR_INF_SKSI_WK`). Provides `executeBySqlDefine()` for INSERT operations. |
| `db_CHG_AD_JGRTWK` | `JBSbatSQLAccess` | Database access object for the Change Address Registration Work table (`KK_T_CHG_AD_JGRTWK`). Provides `updateByPrimaryKeys()` for UPDATE operations. |

**Constants used in this method:**

| Constant Name | Value | Business Meaning |
|--------------|-------|------------------|
| `ORDER_HAKKO_JOKEN_ORDER_SBT_CD` | `"4"` | Order type code: Emergency notification |
| `ORDER_HAKKO_JOKEN_SVC_ORDER_CD` | `"24"` | Service order code: Emergency notification |
| `ORDER_HAKKO_JOKEN_YOKYU_SBT_CD` | `"04"` | Request type code: Change |
| `ORDER_HAKKO_JOKEN_ODR_HAKKO_JOKEN_CD` | `"01"` | Issuance condition code: Immediate issuance |
| `SEQ_KETA` | `12` | Number of digits in generated sequence numbers |
| `ORDER_INF_WORK_ORDER_NAIYO_CD` | `"251"` | Order content code: Emergency notification / Change |
| `JKKBatConst.HENKO_ADD_CD_ZM` | `"9"` | Change address code: Marked/completed (set to tracking status) |

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCBatCommon.getFormatedNextSeq` | JCCBatCommon | - | Generates a formatted sequence number for `SEQ_ODR_HAKKO_JOKEN_NO` (12-digit order issuance condition number) |
| R | `JZMBatCommon.getInMapData` | JZMBatCommon | - | Reads values from the input message map by key |
| C | `JBSbatCommonDBInterface.setValue` | JBSbatCommonDBInterface | - | Sets parameter values in the DB interface for INSERT/UPDATE statements |
| C | `db_KK_T_ODR_HAKKO_JOKEN.executeBySqlDefine` | - | `KK_T_ODR_HAKKO_JOKEN` | Inserts a new row into the Order Issuance Conditions table using `KK_INSERT_002` |
| R | `JKKBatCommon.getFormatedNextSeq` | JKKBatCommon | - | Generates a formatted sequence number for `SEQ_ODR_INF_SKSI_WK_NO` (12-digit order info creation work number) |
| C | `db_KK_T_ODR_INF_SKSI_WK.executeBySqlDefine` | - | `KK_T_ODR_INF_SKSI_WK` | Inserts a new row into the Order Information Creation Work table using `KK_INSERT_001` |
| C | `HashMap.put` | HashMap | - | Stores address data fields into the result map for SOD output |
| R | `JPCUtilCommon.hyhunPcd` | JPCUtilCommon | - | Converts full-width postal code digits to half-width digits |
| R | `JBSbatKKIFE101` constants | JBSbatKKIFE101 | - | Reference constants for SOD send output keys (`SVC_KEI_NO`, `AD_CD`, `PCD`, `ADD1`, `ADD2`, `ADD3`) |
| C | `JBSbatKK_T_CHG_AD_JGRTWK` constants | JBSbatKK_T_CHG_AD_JGRTWK | - | Reference constants for address change work table keys (`SVC_KEI_NO`, `NEW_AD_CD`, `NEW_STATE_NM`, etc.) |
| C | `JBSbatServiceInterfaceMap.setOutFlg` | JBSbatServiceInterfaceMap | - | Sets the output flag to `true` indicating this output map should be sent |
| C | `JBSbatServiceInterfaceMap.setMap` | JBSbatServiceInterfaceMap | - | Populates the output map with the rsMap address data |
| C | `JBSbatOutputItem.addOutMapList` | JBSbatOutputItem | - | Adds the output map to the output bean's map list for return to caller |
| U | `db_CHG_AD_JGRTWK.updateByPrimaryKeys` | - | `KK_T_CHG_AD_JGRTWK` | Updates the `AD_TOHAIGO_TRN_STAT_CD` (address postponement tracking status code) to `"9"` (completed) using the change address registration work number as the primary key |

## 5. Dependency Trace

This method is referenced in 59,002+ Java files scanned but found only in its own class definition. It is a **private batch service method** — the caller is not directly instantiable via `new JBSbatKKAdEmgSODSendOutput` in any other file, meaning it is invoked indirectly through the CBS (Communication Between Systems) dispatch framework used by K-Opticom's batch processing system.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatBusinessService framework | `JBSbatBusinessService.invoke` -> `JBSbatKKAdEmgSODSendOutput.execute(inMap)` | `KK_T_ODR_HAKKO_JOKEN [C], KK_T_ODR_INF_SKSI_WK [C], KK_T_CHG_AD_JGRTWK [U]` |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET/CONSTANT] `(Parameter initialization)` (L103)

> This block extracts key values from the input map and generates the order number sequence. It sets up the parameters for the first INSERT operation (Order Issuance Conditions).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `order_no = JCCBatCommon.getFormatedNextSeq(commonItem, SEQ_ODR_HAKKO_JOKEN_NO, "", SEQ_KETA)` |
| 2 | SET | `svc_kei_cd = JZMBatCommon.getInMapData(inMap, "SVC_KEI_NO")` // Service type number [-> SVC_KEI_NO] |
| 3 | SET | `svc_kei_ucwk_cd = JZMBatCommon.getInMapData(inMap, "SVC_KEI_UCWK_NO")` // Service detail work number [-> SVC_KEI_UCWK_NO] |
| 4 | SET | `strChgAdJgrtwkNo = JZMBatCommon.getInMapData(inMap, "CHG_AD_JGRTWK_NO")` // Change address registration work number [-> CHG_AD_JGRTWK_NO] |

**Block 2** — [SET/CONSTANT] `(Build INSERT parameters for Order Issuance Conditions)` (L107)

> Creates a `JBSbatCommonDBInterface` object and populates it with the order number, service info, and fixed constant values that define this as an emergency notification change request.

| # | Type | Code |
|---|------|------|
| 1 | SET | `dbList = new JBSbatCommonDBInterface()` |
| 2 | SET | `dbList.setValue(order_no)` // Order number |
| 3 | SET | `dbList.setValue(svc_kei_cd)` // Service type code |
| 4 | SET | `dbList.setValue(svc_kei_ucwk_cd)` // Service detail work code |
| 5 | SET | `dbList.setValue(ORDER_HAKKO_JOKEN_ORDER_SBT_CD)` // [-> ORDER_HAKKO_JOKEN_ORDER_SBT_CD="4"] (Order type: Emergency notification) |
| 6 | SET | `dbList.setValue(ORDER_HAKKO_JOKEN_SVC_ORDER_CD)` // [-> ORDER_HAKKO_JOKEN_SVC_ORDER_CD="24"] (Service order code: Emergency notification) |
| 7 | SET | `dbList.setValue(ORDER_HAKKO_JOKEN_YOKYU_SBT_CD)` // [-> ORDER_HAKKO_JOKEN_YOKYU_SBT_CD="04"] (Request type: Change) |
| 8 | SET | `dbList.setValue(ORDER_HAKKO_JOKEN_ODR_HAKKO_JOKEN_CD)` // [-> ORDER_HAKKO_JOKEN_ODR_HAKKO_JOKEN_CD="01"] (Issuance condition: Immediate issuance) |

**Block 3** — [EXEC] `(Execute INSERT for Order Issuance Conditions)` (L116)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `db_KK_T_ODR_HAKKO_JOKEN.executeBySqlDefine(dbList, "KK_INSERT_002")` // Inserts a row into KK_T_ODR_HAKKO_JOKEN |

**Block 4** — [SET/CONSTANT] `(Generate order info work number)` (L122)

> Generates a unique order information creation work number for tracking the order content.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `orderInfoCd = JKKBatCommon.getFormatedNextSeq(commonItem, SEQ_ODR_INF_SKSI_WK_NO, "", SEQ_KETA)` // [-> SEQ_ODR_INF_SKSI_WK_NO] Generates 12-digit order info work number |

**Block 5** — [SET/CONSTANT] `(Build INSERT parameters for Order Information Creation Work)` (L126)

> Creates a `JBSbatCommonDBInterface` and populates it with the order info work number, order number, order content code ("251" = Emergency notification/Change), service type code, timestamps, and 13 null placeholder values for optional fields.

| # | Type | Code |
|---|------|------|
| 1 | SET | `dbList = new JBSbatCommonDBInterface()` |
| 2 | SET | `dbList.setValue(orderInfoCd)` // Order info creation work number |
| 3 | SET | `dbList.setValue(order_no)` // Linked order number |
| 4 | SET | `dbList.setValue(ORDER_INF_WORK_ORDER_NAIYO_CD)` // [-> ORDER_INF_WORK_ORDER_NAIYO_CD="251"] (Order content: Emergency notification/Change) |
| 5 | SET | `dbList.setValue(svc_kei_cd)` // Service type code |
| 6 | SET | `dbList.setValue(JZMBatCommon.getInMapData(inMap, "GENE_ADD_DTM"))` // Generation timestamp |
| 7 | SET | `dbList.setValue(JZMBatCommon.getInMapData(inMap, "GENE_ADD_DTM_UCWK"))` // Generation timestamp (work) |
| 8-20 | SET | `dbList.setValue(null)` // 13 null placeholders for optional fields |

**Block 6** — [EXEC] `(Execute INSERT for Order Information Creation Work)` (L148)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `db_KK_T_ODR_INF_SKSI_WK.executeBySqlDefine(dbList, "KK_INSERT_001")` // Inserts a row into KK_T_ODR_INF_SKSI_WK |

**Block 7** — [SET] `(Build result map for SOD output data)` (L152)

> Initializes a HashMap that will carry the emergency SOD send data (service info and address details) to the output map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `rsMap = new HashMap<String, String>()` |
| 2 | SET | `rsMap.put(JBSbatKKIFE101.SVC_KEI_NO, JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.SVC_KEI_NO))` // Service type number from input |

**Block 8** — [IF/ELSE-IF/ELSE] `(Branch on NEW_AD_CD presence for address selection)` (L153)

> Determines whether to use the new address (if `NEW_AD_CD` is present in the input map) or the old address (fallback). This handles the case where an address change has been recorded (new address available) vs. where only the old address data is available.

**Block 8.1** — [IF] `(Condition: NEW_AD_CD is not null)` (L153)

> Uses the **new address** fields from the input map. The address1 field is built by concatenating state name + city name + oaza/town name + address/chome number (4 Japanese address components). The postal code is converted from full-width to half-width digits via `hyhunPcd()`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strNEW_ADD1 = NEW_STATE_NM + NEW_CITY_NM + NEW_OAZTSU_NM + NEW_AZCHO_NM` // New address1 = concatenation of 4 address components (住所1) |
| 2 | SET | `strNEW_ADD1` // [日本語コメント: 住所1 = Address 1] |
| 3 | SET | `rsMap.put(JBSbatKKIFE101.AD_CD, JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.NEW_AD_CD))` // New address code |
| 4 | SET | `rsMap.put(JBSbatKKIFE101.PCD, JPCUtilCommon.hyhunPcd(JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.NEW_PCD)))` // New postal code (full-width to half-width conversion) |
| 5 | SET | `rsMap.put(JBSbatKKIFE101.ADD1, strNEW_ADD1)` // New concatenated address1 |

**Block 8.2** — [ELSE] `(Condition: NEW_AD_CD is null)` (L164)

> Uses the **old address** fields from the input map. Same concatenation pattern for address1. The postal code is converted from full-width to half-width digits.

| # | Type | Code |
|---|------|------|
| 1 | SET | `strOLD_ADD1 = STATE_NM + CITY_NM + OAZTSU_NM + AZCHO_NM` // Old address1 = concatenation of 4 address components (住所1) |
| 2 | SET | `strOLD_ADD1` // [日本語コメント: 住所1 = Address 1] |
| 3 | SET | `rsMap.put(JBSbatKKIFE101.AD_CD, JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.AD_CD))` // Old address code |
| 4 | SET | `rsMap.put(JBSbatKKIFE101.PCD, JPCUtilCommon.hyhunPcd(JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.PCD)))` // Old postal code (full-width to half-width conversion) |
| 5 | SET | `rsMap.put(JBSbatKKIFE101.ADD1, strOLD_ADD1)` // Old concatenated address1 |

**Block 9** — [SET] `(Set address2 and address3 fields)` (L174)

> Sets address2 as the old branch code (OLD_BNCHIGO) and address3 as the concatenation of old street name and room number (OLD_ADRTTM + OLD_ADRRM).

| # | Type | Code |
|---|------|------|
| 1 | SET | `strADD2 = JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.OLD_BNCHIGO)` // Address2 = old branch code (住所2) |
| 2 | SET | `strADD3 = JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.OLD_ADRTTM) + JZMBatCommon.getInMapData(inMap, JBSbatKK_T_CHG_AD_JGRTWK.OLD_ADRRM)` // Address3 = old street + room (住所3) |
| 3 | SET | `rsMap.put(JBSbatKKIFE101.ADD2, strADD2)` // Address2 field |
| 4 | SET | `rsMap.put(JBSbatKKIFE101.ADD3, strADD3)` // Address3 field |

**Block 10** — [SET] `(Construct output message)` (L178)

> Wraps the rsMap into a `JBSbatServiceInterfaceMap` and sets the output flag to `true`. Then creates an `JBSbatOutputItem` and adds the output map to it.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outMap = new JBSbatServiceInterfaceMap()` |
| 2 | EXEC | `outMap.setMap(rsMap)` // Populates output map with rsMap data |
| 3 | EXEC | `outMap.setOutFlg(true)` // Sets output flag — this map should be sent (出力フラグを設定) |
| 4 | SET | `outputBean = new JBSbatOutputItem()` |
| 5 | EXEC | `outputBean.addOutMapList(outMap)` // Adds output map to the output bean (出力共通電文に入出力インターフェースを設定する) |

**Block 11** — [SET] `(Update change address registration work tracking status)` (L184)

> Updates the **Change Address Registration Work** table (`KK_T_CHG_AD_JGRTWK`) to mark the address change processing status as "9" (completed/recorded). This is the final step — it signals that the emergency notification SOD send process has completed for this address change work record.

| # | Type | Code |
|---|------|------|
| 1 | SET | `valueMap = new JBSbatCommonDBInterface()` // Values to update |
| 2 | SET | `valueMap.setValue("AD_TOHAIGO_TRN_STAT_CD")` // Column: Address postponement tracking status code |
| 3 | SET | `valueMap.setValue(JKKBatConst.HENKO_ADD_CD_ZM)` // [-> HENKO_ADD_CD_ZM="9"] Change address code: Marked/completed |
| 4 | SET | `whereMap = new JBSbatCommonDBInterface()` // WHERE clause parameters |
| 5 | SET | `whereMap.setValue("CHG_AD_JGRTWK_NO")` // Primary key column: Change address registration work number |
| 6 | SET | `whereMap.setValue(strChgAdJgrtwkNo)` // Primary key value from inMap |

**Block 12** — [EXEC] `(Execute UPDATE)` (L192)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `db_CHG_AD_JGRTWK.updateByPrimaryKeys(whereMap, valueMap)` // Updates AD_TOHAIGO_TRN_STAT_CD = '9' WHERE CHG_AD_JGRTWK_NO |

**Block 13** — [RETURN] `(Return output)` (L195)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return outputBean` // Returns the output bean containing the emergency SOD send output map |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SVC_KEI_NO` | Field | Service type number — the classification code for the type of telecom service (e.g., FTTH, DSL, ENUM, Mail) |
| `SVC_KEI_UCWK_NO` | Field | Service detail work number — internal tracking ID for a specific service detail work item |
| `CHG_AD_JGRTWK_NO` | Field | Change address registration work number — unique identifier for an address change registration work record. Used as the primary key to update the tracking status. |
| `AD_CD` | Field | Address code — unique identifier for a postal address |
| `NEW_AD_CD` | Field | New address code — the address code after the change. Its null/non-null status determines whether new or old address data is used in the output. |
| `AD_TOHAIGO_TRN_STAT_CD` | Field | Address postponement tracking status code — tracks the processing status of an address change. Value `"9"` indicates completed/recorded. |
| `PCD` | Field | Postal code (郵便番号) — Japanese postal code. May be stored as full-width digits and converted to half-width via `hyhunPcd()`. |
| `GENE_ADD_DTM` | Field | Generation add timestamp — when the address change request was generated |
| `GENE_ADD_DTM_UCWK` | Field | Generation add work timestamp — timestamp associated with the service detail work |
| `ADD1` | Field | Address line 1 — concatenated Japanese address components (state/city/oaza/chome) |
| `ADD2` | Field | Address line 2 — branch code (`OLD_BNCHIGO`) for the address |
| `ADD3` | Field | Address line 3 — street name + room number concatenation |
| `STATE_NM` | Field | State/prefecture name (都道府県名) — top-level Japanese address component |
| `CITY_NM` | Field | City name (市区名) — second-level Japanese address component |
| `OAZTSU_NM` | Field | Oaza/town name (大字町名) — third-level Japanese address component |
| `AZCHO_NM` | Field | Address/chome number (番地号) — fourth-level Japanese address component |
| `OLD_BNCHIGO` | Field | Old branch code — branch number/letter for the address |
| `OLD_ADRTTM` | Field | Old street name (道路名) — part of address line 3 |
| `OLD_ADRRM` | Field | Old room number (部屋番号) — part of address line 3 |
| `HYHUN_PCD` | Field | Half-width postal code — postal code digits converted from full-width to half-width characters |
| SOD | Acronym | Service Order Data — telecom order fulfillment entity used to track service changes and registrations in K-Opticom's system |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| DSL | Acronym | Digital Subscriber Line — broadband internet over copper telephone lines |
| ENUM | Acronym | ENUM (E.164 Number Mapping) — telecom numbering service that maps phone numbers to internet addresses |
| CBS | Acronym | Communication Between Systems — the internal routing layer for batch service calls in K-Opticom's architecture |
| SC | Acronym | Service Component — a service component layer class that contains business logic and database access methods |
| ODR_HAKKO_JOKEN | Abbreviation | Order Issuance Conditions (注文発行条件) — the table/record that stores the metadata for generating service orders |
| ODR_INF_SKSI_WK | Abbreviation | Order Information Creation Work (注文情報作成ワーク) — the work table that holds order content details during creation |
| CHG_AD_JGRTWK | Abbreviation | Change Address Registration Work (変更住所登録ワーク) — the work table for tracking address change requests |
| `ORDER_SBT_CD = "4"` | Constant | Order sub-type code: Emergency notification (緊急通報) |
| `SVC_ORDER_CD = "24"` | Constant | Service order code: Emergency notification (緊急通報) |
| `YOKYU_SBT_CD = "04"` | Constant | Request sub-type code: Change (変更) |
| `ODR_HAKKO_JOKEN_CD = "01"` | Constant | Order issuance condition code: Immediate issuance (即時発行) |
| `ORDER_NAIYO_CD = "251"` | Constant | Order content code: Emergency notification / Change (緊急通報・変更) |
| `HENKO_ADD_CD_ZM = "9"` | Constant | Change address code: Marked/recorded (変更住所コード：済) |
| `KK_INSERT_001` | Constant | SQL Define name for inserting into `KK_T_ODR_INF_SKSI_WK` |
| `KK_INSERT_002` | Constant | SQL Define name for inserting into `KK_T_ODR_HAKKO_JOKEN` |
| `SEQ_KETA = 12` | Constant | Sequence number digit count — generated numbers are 12 digits long |
| KK_T_* | Table prefix | K-Opticom Temp table — internal processing tables used in batch operations |
| JBSbatBusinessService | Class | Base class for batch business services — provides common infrastructure (commonItem, logging, error handling) |
| JBSbatServiceInterfaceMap | Class | Input/output message container for batch services — holds typed data fields and the output flag |
| JBSbatOutputItem | Class | Output container that holds a list of `JBSbatServiceInterfaceMap` objects for batch processing results |
| JBSbatCommonDBInterface | Class | Parameterized container for SQL execution — holds the values to INSERT/UPDATE in sequence |
| JBSbatSQLAccess | Class | Database access abstraction — wraps SQL execution via SQL Developer XML definitions |