# Business Logic — JBSbatKKBndWdtOvrSendMl.insertTMailSend() [131 LOC]

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

## 1. Role

### JBSbatKKBndWdtOvrSendMl.insertTMailSend()

This method constructs and prepares a bandwidth limit overage notification email payload for a specific customer. It is the central assembly routine within the K-Opticom customer base system's bandwidth monitoring subsystem. The method resolves a mail code based on the send classification (`sendKbn`) -- distinguishing between "notice/send" type mailings (`SEND_KBN_YOKOKU = "1"`) and "actual execution/real" type mailings (`SEND_KBN_JISHI`) -- then retrieves the corresponding mail template configuration from the `CC_M_MAIL` master table via `getMailInfoMap`. It populates a structured output data map (`JBSbatServiceInterfaceMap`) with customer ID, recipient email, sender details, BCC placeholder, subject line, and the mail body with text substitutions (contractor name and bandwidth usage figures). The fully assembled email record is then flagged for output via `setOutFlg(true)` and appended to the parent `outputItem` via `addOutMapList`. The method implements a builder/delegation pattern: it builds the email data structure, delegates mail template retrieval to `getMailInfoMap`, and delegates text substitution to `repTextDataString`. Its role in the larger system is as the shared email preparation utility invoked by multiple batch processes that need to send customer notifications, including error notifications (from `JBSbatCRCtgrFileCheck`), service change notifications (from `JBSbatKKCoursechgTchiMailSend`), and various request/mail processing flows.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["insertTMailSend parameters"])
    
    A["Create caknMoji String array size 3"] --> B["Create outDataMap JBSbatServiceInterfaceMap"]
    B --> C{"SEND_KBN_YOKOKU equals sendKbn?"}
    C -->|True| D["mailCd = MAIL_CD_YKK KKM1000007"]
    C -->|False| E["mailCd = MAIL_CD_JSHI KKM1000008"]
    D --> F["getMailInfoMap mailCd"]
    E --> F
    F --> G["setString CUST_ID svcKeiNo"]
    G --> H["setString MAIL_ATE_SAKI mlad"]
    H --> I["setString MAIL_SENDER_NM from mailInfo"]
    I --> J["setString MAIL_SENDER from mailInfo"]
    J --> K["setString ML_HNSIN_SK from mailInfo"]
    K --> L["setString ERR_ML_HNSIN_SK from mailInfo"]
    L --> M["setString BCC space"]
    M --> N["setString ML_DAIMEI from mailInfo"]
    N --> O["caknMoji 0 keiShaNm contractor name"]
    O --> P["caknMoji 1 tchiTshiryo bandwidth usage"]
    P --> Q["caknMoji 2 tchiTshiryo bandwidth MB"]
    Q --> R["repTextDataString mailInfo MAIL_TEXT caknMoji"]
    R --> S["setString ML_TEXT text with substitutions"]
    S --> T["setString TIOKRK_TITLE from ZM_M_TCHI_MAIL_SENDS"]
    T --> U["setOutFlg true"]
    U --> V["outputItem addOutMapList outDataMap"]
    V --> END(["Return"])
```

**CRITICAL -- Constant Resolution:**
- `SEND_KBN_YOKOKU` = `"1"` [-> SEND_KBN_YOKOKU="1" (JBSbatKKBndWdtOvrSendMl.java:116)] -- Send classification code for "notice/send" type
- `MAIL_CD_YKK` = `"KKM1000007"` [-> MAIL_CD_YKK="KKM1000007" (JBSbatKKBndWdtOvrSendMl.java:108)] -- Mail code for YOKOKU (notice/send)
- `MAIL_CD_JSHI` = `"KKM1000008"` [-> MAIL_CD_JSHI="KKM1000008" (JBSbatKKBndWdtOvrSendMl.java:112)] -- Mail code for JISHI (actual execution)
- `JBSbatKKIFE244.CUST_ID` = `"CUST_ID"` [-> JBSbatKKIFE244.java:31] -- Customer ID output field
- `JBSbatKKIFE244.MAIL_ATE_SAKI` = `"MAIL_ATE_SAKI"` [-> JBSbatKKIFE244.java:34] -- Mail destination
- `JBSbatKKIFE244.MAIL_SENDER_NM` = `"MAIL_SENDER_NM"` [-> JBSbatKKIFE244.java:37] -- Mail sender name
- `JBSbatKKIFE244.MAIL_SENDER` = `"MAIL_SENDER"` [-> JBSbatKKIFE244.java:40] -- Mail sender address
- `JBSbatKKIFE244.ML_HNSIN_SK` = `"ML_HNSIN_SK"` [-> JBSbatKKIFE244.java:43] -- Mail reply destination
- `JBSbatKKIFE244.ERR_ML_HNSIN_SK` = `"ERR_ML_HNSIN_SK"` [-> JBSbatKKIFE244.java:46] -- Error mail reply destination
- `JBSbatKKIFE244.BCC` = `"BCC"` [-> JBSbatKKIFE244.java:49] -- BCC field
- `JBSbatKKIFE244.ML_DAIMEI` = `"ML_DAIMEI"` [-> JBSbatKKIFE244.java:52] -- Mail subject/title
- `JBSbatKKIFE244.ML_TEXT` = `"ML_TEXT"` [-> JBSbatKKIFE244.java:55] -- Mail body text
- `JBSbatKKIFE244.TIOKRK_TITLE` = `"TIOKRK_TITLE"` [-> JBSbatKKIFE244.java:58] -- Response record title
- `JBSbatCC_M_MAIL.MAIL_TITLE` = `"MAIL_TITLE"` [-> JBSbatCC_M_MAIL.java:45] -- Mail title from master table
- `JBSbatCC_M_MAIL.MAIL_TEXT` = `"MAIL_TEXT"` [-> JBSbatCC_M_MAIL.java:48] -- Mail body text from master table
- `JBSbatCC_M_MAIL.SENDM_MLAD_DSP_NM` = `"SENDM_MLAD_DSP_NM"` [-> JBSbatCC_M_MAIL.java:54] -- Sender display name
- `JBSbatCC_M_MAIL.SENDM_MLAD` = `"SENDM_MLAD"` [-> JBSbatCC_M_MAIL.java:51] -- Sender email address
- `JBSbatCC_M_MAIL.HNSIN_MLAD` = `"HNSIN_MLAD"` [-> JBSbatCC_M_MAIL.java:57] -- Reply email address
- `JBSbatCC_M_MAIL.ERR_MLAD` = `"ERR_MLAD"` [-> JBSbatCC_M_MAIL.java:60] -- Error email address
- `JBSbatZM_M_TCHI_MAIL_SENDS.TAIO_KIROK_TITLE` = `"TAIO_KIROK_TITLE"` [-> JBSbatZM_M_TCHI_MAIL_SENDS.java:40] -- Response record title from notification mail destination table
- `JBSbatZM_M_TCHI_MAIL_SENDS.TABLE_NAME` = `"ZM_M_TCHI_MAIL_SENDS"` [-> JBSbatZM_M_TCHI_MAIL_SENDS.java:28] -- Table name for notification mail sends master

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `sysDateTime` | `String` | System date/time for scheduled mail dispatch. Used to stamp the intended send date and time for the email notification (reserved for the legacy shared mail infrastructure path; currently not used in the refactored flow, retained for interface compatibility). |
| 2 | `sendKbn` | `String` | Send classification code that determines which mail template to use. Value `"1"` (`SEND_KBN_YOKOKU`) triggers the YOKOKU (notice/send) mail code (`KKM1000007`); any other value triggers the JISHI (actual execution) mail code (`KKM1000008`). This branch allows the same notification to be sent with different templates depending on whether it is a preliminary notice or an actual dispatch. |
| 3 | `mlad` | `String` | Mail address (email address) of the recipient customer. This is the email address to which the bandwidth overage notification will be delivered. |
| 4 | `keiShaNm` | `String` | Contractor name (customer company/individual name). Used as both the display name in the "To" field and as a substitution variable (`caknMoji[0]`) in the mail body template. |
| 5 | `opeDateYear` | `String` | Operation date year. Originally used as a body substitution variable in an earlier version of the method (removed in ANK-1393-00-00); retained in the signature for backward compatibility but no longer consumed in the current implementation. |
| 6 | `opeDateMonth` | `String` | Operation date month. Same status as `opeDateYear` -- retained for backward compatibility, not currently used. |
| 7 | `opeDateDay` | `String` | Operation date day. Same status as `opeDateYear` -- retained for backward compatibility, not currently used. |
| 8 | `tchiTshiryo` | `String` | Bandwidth limit notification communication volume. The actual bandwidth usage data (e.g., "1234 MB" or "5.6 GB") that will be substituted into the mail body template twice: once as `caknMoji[1]` (bandwidth notification usage) and once as `caknMoji[2]` (bandwidth usage in MB). |
| 9 | `svcKeiNo` | `String` | Service contract number (customer ID). Maps to `CUST_ID` in the output data and serves as the unique identifier linking this email to the customer's service contract record. |
| 10 | `outputItem` | `JBSbatOutputItem` | Output file information container. The assembled email data map is appended to this via `addOutMapList`, making the email record available to downstream batch processing (e.g., actual mail sending). |

**Instance fields / external state read by this method:**
- `this.getMailInfoMap(String mailCd)` -- Called method on the same class instance that retrieves mail template configuration.
- `this.repTextDataString(String text, String[] caknMoji)` -- Called method on the same class instance that performs text substitution in the mail body.

## 4. CRUD Operations / Called Services

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatKKBndWdtOvrSendMl.getMailInfoMap` | (self) | `CC_M_MAIL` | Retrieves mail template configuration by mail code from the `CC_M_MAIL` master table via the mail info map. This is the primary data read operation that fetches the email subject, body, sender address, reply address, and error address. |
| R | `JBSbatZM_M_TCHI_MAIL_SENDS` (via `mailInfo.getString`) | (self) | `ZM_M_TCHI_MAIL_SENDS` | Reads the response record title (`TAIO_KIROK_TITLE`) from the notification mail destination master table through the mail info map returned by `getMailInfoMap`. |
| R | `JBSbatCC_M_MAIL.getString` (via mailInfo) | (self) | `CC_M_MAIL` | Reads individual mail template fields: `MAIL_TITLE`, `MAIL_TEXT`, `SENDM_MLAD_DSP_NM`, `SENDM_MLAD`, `HNSIN_MLAD`, `ERR_MLAD` from the master mail configuration data. |

**Detailed analysis of each called method:**

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatKKBndWdtOvrSendMl.getMailInfoMap(mailCd)` | (self-routing) | `CC_M_MAIL` | Reads mail template configuration (title, body text, sender, reply, error addresses) from the `CC_M_MAIL` master table using the mail code determined by `sendKbn`. |
| - | `JBSbatKKBndWdtOvrSendMl.repTextDataString(text, caknMoji)` | (self-routing) | - | Performs text substitution in the mail body by replacing placeholder variables with the `caknMoji` values (contractor name, bandwidth usage figures). This is a string transformation, not a database operation. |
| C | `JBSbatOutputItem.addOutMapList(outDataMap)` | (self-routing) | - | Appends the fully assembled email data map to the output collection for downstream processing. This is a Create operation on the in-memory output list, marking the email record as ready to be sent. |
| - | `JBSbatServiceInterfaceMap.setString(key, value)` | (self-routing) | - | Sets individual fields on the output data map (customer ID, mail recipient, sender info, BCC, subject, body, response record title). These are field assignments (SET operations) on an in-memory data structure. |
| - | `JBSbatServiceInterfaceMap.setOutFlg(true)` | (self-routing) | - | Marks the output record as flagged for output, signaling downstream processors that this email record should be processed/sent. |
| R | `JBSbatCommonDBInterface.getString(fieldKey)` | (via mailInfo) | `CC_M_MAIL` / `ZM_M_TCHI_MAIL_SENDS` | Reads specific field values from the mail info map returned by `getMailInfoMap`. Fields accessed: `SENDM_MLAD_DSP_NM`, `SENDM_MLAD`, `HNSIN_MLAD`, `ERR_MLAD`, `MAIL_TITLE`, `MAIL_TEXT`, `TAIO_KIROK_TITLE`. |

## 5. Dependency Trace

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

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: `JBSbatCRToiawaseShori` | `JBSbatCRToiawaseShori.sendNGWordMail()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 2 | Batch: `JBSbatCRCtgrFileCheck` | `JBSbatCRCtgrFileCheck.sendErrMail()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 3 | Batch: `JBSbatKKBbssRsMskmReq` | `JBSbatKKBbssRsMskmReq.mailSendExecute()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 4 | Batch: `JBSbatKKBndWdtOvrSendMl` | `JBSbatKKBndWdtOvrSendMl.execute()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 5 | Batch: `JBSbatKKCashPostAddMail` | `JBSbatKKCashPostAddMail.mailSendExecute()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 6 | Batch: `JBSbatKKCoursechgTchiMailSend` | `JBSbatKKCoursechgTchiMailSend.mailSenfExecute()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 7 | Batch: `JBSbatKKMailSendInfoSaksei` | `JBSbatKKMailSendInfoSaksei.mailSenfExecute()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |
| 8 | Batch: `JBSbatKKMcafeeBuyReq` | `JBSbatKKMcafeeBuyReq.mailSendExecute()` -> `insertTMailSend` | `addOutMapList [C] -`, `setOutFlg [-]`, `getString [R] CC_M_MAIL` |

**Trace summary:**
- This method is a **shared utility** with 8 direct callers across various batch processes. No screen entry points (`KKSV*`) call this method directly -- it is exclusively invoked from batch processing classes.
- All callers follow a pattern of calling this method from their mail-sending entry point (e.g., `mailSendExecute`, `sendErrMail`, `sendNGWordMail`).
- The terminal operations from this method are: `addOutMapList [C]` (Create: appends email record to output list), `setOutFlg [-]` (sets output flag on the data map), and `getString [R]` (Read: retrieves mail template fields from `CC_M_MAIL` master table).
- The primary data dependency is the `CC_M_MAIL` master table (retrieved via `getMailInfoMap`), which holds the email templates. The `ZM_M_TCHI_MAIL_SENDS` master table provides the response record title.

## 6. Per-Branch Detail Blocks

**Block 0** — [METHOD ENTRY] (L755)

> Entry into the method. Initializes local variables based on the ANK-1393-00-00 modification, creating a 3-element replacement text array.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String[] caknMoji = new String[3]` // Replacement text array size 3 (ANK-1393-00-00) [-> ANK-1393-00-00] |

**Block 1** — [IF-ELSE] (`SEND_KBN_YOKOKU.equals(sendKbn)`) (L828)

> Branches on the send classification code to select the appropriate mail template code. YOKOKU ("1") maps to `KKM1000007`, all other values map to `KKM1000008`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `String mailCd = null` // Initialize mail code variable [-> null] |
| 2 | SET | `mailCd = MAIL_CD_YKK` // YOKOKU path: mail code KKM1000007 [-> MAIL_CD_YKK="KKM1000007" (JBSbatKKBndWdtOvrSendMl.java:108)] |
| 3 | SET | `mailCd = MAIL_CD_JSHI` // JISHI path: mail code KKM1000008 [-> MAIL_CD_JSHI="KKM1000008" (JBSbatKKBndWdtOvrSendMl.java:112)] |

**Block 2** — [METHOD CALL] `getMailInfoMap(mailCd)` (L839)

> Retrieves the mail template configuration using the resolved mail code. Returns a `JBSbatCommonDBInterface` containing all fields from the `CC_M_MAIL` master table for the selected template.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `mailInfo = getMailInfoMap(mailCd)` // Retrieve mail template configuration [-> getMailInfoMap] |
| 2 | SET | `JBSbatServiceInterfaceMap outDataMap = new JBSbatServiceInterfaceMap()` // Create output data map |

**Block 3** — [FIELD SETS] Output data map population (L842-853)

> Populates the output data map with all customer and mail configuration fields. Each `setString` call assigns a specific field from `JBSbatKKIFE244`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outDataMap.setString(JBSbatKKIFE244.CUST_ID, svcKeiNo)` // Set customer ID [-> CUST_ID="CUST_ID" (JBSbatKKIFE244.java:31)] |
| 2 | SET | `outDataMap.setString(JBSbatKKIFE244.MAIL_ATE_SAKI, mlad)` // Set mail destination [-> MAIL_ATE_SAKI="MAIL_ATE_SAKI" (JBSbatKKIFE244.java:34)] |
| 3 | SET | `outDataMap.setString(JBSbatKKIFE244.MAIL_SENDER_NM, mailInfo.getString(JBSbatCC_M_MAIL.SENDM_MLAD_DSP_NM))` // Set sender display name from mail info [-> SENDM_MLAD_DSP_NM="SENDM_MLAD_DSP_NM" (JBSbatCC_M_MAIL.java:54)] |
| 4 | SET | `outDataMap.setString(JBSbatKKIFE244.MAIL_SENDER, mailInfo.getString(JBSbatCC_M_MAIL.SENDM_MLAD))` // Set sender address from mail info [-> SENDM_MLAD="SENDM_MLAD" (JBSbatCC_M_MAIL.java:51)] |
| 5 | SET | `outDataMap.setString(JBSbatKKIFE244.ML_HNSIN_SK, mailInfo.getString(JBSbatCC_M_MAIL.HNSIN_MLAD))` // Set reply address from mail info [-> HNSIN_MLAD="HNSIN_MLAD" (JBSbatCC_M_MAIL.java:57)] |
| 6 | SET | `outDataMap.setString(JBSbatKKIFE244.ERR_ML_HNSIN_SK, mailInfo.getString(JBSbatCC_M_MAIL.ERR_MLAD))` // Set error reply address from mail info [-> ERR_MLAD="ERR_MLAD" (JBSbatCC_M_MAIL.java:60)] |
| 7 | SET | `outDataMap.setString(JBSbatKKIFE244.BCC, " ")` // Set BCC to space placeholder [-> BCC="BCC" (JBSbatKKIFE244.java:49)] |
| 8 | SET | `outDataMap.setString(JBSbatKKIFE244.ML_DAIMEI, mailInfo.getString(JBSbatCC_M_MAIL.MAIL_TITLE))` // Set mail subject from mail info [-> MAIL_TITLE="MAIL_TITLE" (JBSbatCC_M_MAIL.java:45)] |

**Block 4** — [FIELD SETS] Replacement text array population (L856-860)

> Populates the `caknMoji` array with substitution values for the mail body template. Added in ANK-1393-00-00, this array replaced the previous 5-element and 6-element versions.

| # | Type | Code |
|---|------|------|
| 1 | SET | `caknMoji[0] = keiShaNm` // Replacement part 1: Contractor name [-> ANK-1393-00-00] |
| 2 | SET | `caknMoji[1] = tchiTshiryo` // Replacement part 2: Bandwidth notification usage [-> ANK-1393-00-00] |
| 3 | SET | `caknMoji[2] = tchiTshiryo` // Replacement part 3: Bandwidth usage MB [-> ANK-1393-00-00] |

**Block 5** — [METHOD CALL] Mail body text preparation (L869)

> Calls `repTextDataString` to perform text substitution in the mail body. The `mailInfo.getString(JBSbatCC_M_MAIL.MAIL_TEXT)` retrieves the raw template body text, and `repTextDataString` replaces placeholders with the `caknMoji` values. The result is stored in the output data map as `ML_TEXT`.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outDataMap.setString(JBSbatKKIFE244.ML_TEXT, repTextDataString(mailInfo.getString(JBSbatCC_M_MAIL.MAIL_TEXT), caknMoji))` // Mail body with substitutions [-> ML_TEXT="ML_TEXT" (JBSbatKKIFE244.java:55)] [-> MAIL_TEXT="MAIL_TEXT" (JBSbatCC_M_MAIL.java:48)] |

**Block 6** — [FIELD SET] Response record title (L872)

> Sets the response record title from the notification mail destination master table (`ZM_M_TCHI_MAIL_SENDS`).

| # | Type | Code |
|---|------|------|
| 1 | SET | `outDataMap.setString(JBSbatKKIFE244.TIOKRK_TITLE, mailInfo.getString(JBSbatZM_M_TCHI_MAIL_SENDS.TAIO_KIROK_TITLE))` // Set response record title [-> TAIO_KIROK_TITLE="TAIO_KIROK_TITLE" (JBSbatZM_M_TCHI_MAIL_SENDS.java:40)] [-> ZM_M_TCHI_MAIL_SENDS (table)] |

**Block 7** — [FIELD SET + OUTPUT] Output flag and finalization (L875-L876)

> Sets the output flag to `true` to mark this record as ready for output, then appends the fully assembled email data map to the parent `outputItem` collection.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outDataMap.setOutFlg(true)` // Set output flag [-> ANK-1876-00-00 Mod End] |
| 2 | CALL | `outputItem.addOutMapList(outDataMap)` // Append to output collection [-> addOutMapList] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `insertTMailSend` | Method | Bandwidth overage notification email assembly method -- constructs the email data structure for sending customer bandwidth limit notifications |
| `sendKbn` | Field | Send classification code -- distinguishes between "notice/send" type (`"1"`) and "actual execution" type mailings, controlling which mail template is used |
| `SEND_KBN_YOKOKU` | Constant | Send classification code value `"1"` -- indicates a notice/send type mailing (YOKOKU = 報告/通知, report/notification) |
| `SEND_KBN_JISHI` | Constant | Send classification code value (other than `"1"`) -- indicates an actual execution type mailing (JISHI = 実地, actual execution) |
| `mlad` | Field | Mail address -- the recipient's email address for the bandwidth overage notification |
| `keiShaNm` | Field | Contractor name -- the name of the customer (contractor) receiving the notification; used in display and text substitution |
| `tchiTshiryo` | Field | Bandwidth limit notification communication volume -- the actual bandwidth usage data (e.g., MB/GB figures) to include in the notification |
| `svcKeiNo` | Field | Service contract number -- the customer's unique service contract identifier, mapped to `CUST_ID` in the output |
| `caknMoji` | Variable | Replacement text array -- an array of strings used to substitute placeholder variables in the mail body template (Contractor name, bandwidth usage) |
| `mailCd` | Variable | Mail code -- the template identifier used to look up the email configuration (either `KKM1000007` or `KKM1000008`) |
| `MAIL_CD_YKK` | Constant | Mail code `"KKM1000007"` -- template code for YOKOKU (notice/send) type bandwidth notification emails |
| `MAIL_CD_JSHI` | Constant | Mail code `"KKM1000008"` -- template code for JISHI (actual execution) type bandwidth notification emails |
| `getMailInfoMap` | Method | Mail info map retrieval -- fetches the email template configuration (subject, body, addresses) from the `CC_M_MAIL` master table |
| `repTextDataString` | Method | Text replacement method -- performs variable substitution in the mail body template using the `caknMoji` array values |
| `JBSbatKKIFE244` | Interface | Bandwidth overage notification email constants class -- defines field names for the email output data map (CUST_ID, MAIL_ATE_SAKI, etc.) |
| `CC_M_MAIL` | Table | Mail master table -- stores email template configurations including subject, body text, sender address, reply address, and error address |
| `ZM_M_TCHI_MAIL_SENDS` | Table | Notification mail destination master table -- stores notification mail destination settings including response record title |
| `TAIO_KIROK_TITLE` | Field | Response record title -- the title/description for the response record associated with the notification |
| `sendm_mlad` | Field | Sender mail address -- the email address of the mail sender, from `CC_M_MAIL` master table |
| `sendm_mlad_dsp_nm` | Field | Sender mail address display name -- the display name for the sender shown to recipients |
| `hnsin_mlad` | Field | Reply mail address -- the email address customers should reply to |
| `err_mlad` | Field | Error mail address -- the email address for error bounce-back notifications |
| `mail_title` | Field | Mail title/subject -- the subject line of the email template |
| `mail_text` | Field | Mail body text -- the body content of the email template with placeholder variables |
| `JBSbatOutputItem` | Parameter | Output file information container -- the parent collection that holds output records including the assembled email data map |
| `JBSbatServiceInterfaceMap` | Class | Service interface data map -- a structured data container for passing data between service components |
| `CUST_ID` | Field | Customer ID -- the unique identifier for the customer/service contract |
| `ML_TEXT` | Field | Mail body/text -- the fully assembled email body content after text substitution |
| `TIOKRK_TITLE` | Field | Response record title -- title/description for the response record associated with this notification |
| `outFlg` | Field | Output flag -- boolean flag indicating whether the record should be output/processed |
| YOKOKU | Business term | 報告/通知 (Report/Notification) -- type of send that indicates a preliminary or standard notification dispatch |
| JISHI | Business term | 実地 (Actual Execution) -- type of send that indicates an actual/real execution dispatch |
| BANDWIDTH | Business term | Bandwidth limit overage notification -- system-generated email alert sent to customers when their data usage approaches or exceeds the contracted bandwidth limit |
| ANK-1393-00-00 | Change request | Modification that reduced the `caknMoji` array from 6 elements to 3, removing operation date fields (year, month, day) and keeping only contractor name and bandwidth usage data |
| ANK-1876-00-00 | Change request | Modification that refactored the method from using a shared `HashMap<String, Object>` mail infrastructure (`JCCBatCommon.insertTMailSend`) to using `JBSbatServiceInterfaceMap` with direct `setString` calls |
| ST3-2013-0000101 | Change request | Modification that changed the `caknMoji` array size (from 5 to 6, then later refactored away by ANK-1393-00-00) |

---

*Document generated from source: `source/koptBatch/src/eo/business/service/JBSbatKKBndWdtOvrSendMl.java` (lines 754-884)*
