# Business Logic - JBSbatKKKnytcsTrgtCst.outSvcKnrnInfoJdg() [525 LOC]

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

## 1. Role

### JBSbatKKKnytcsTrgtCst.outSvcKnrnInfoJdg()

This method serves as the central **output eligibility decision engine** for service contract line-item records in the NTT opt-batch (koptBatch) processing pipeline. Given a service detail contract information record (`dbInfSvcKei`) along with a collection of service type information maps, the method inspects the **MNGN_DSP_JKN_KSITEI_CD** (display condition specification code) attached to the record and dispatches to one of approximately 16 domain-specific decision branches. Each branch evaluates business rules -- such as whether a telephone cancellation is expected, whether the customer is moving and holds concurrent Net/TV/Tel bundle discounts, whether standard construction fees apply, or whether pause campaign charges should be displayed -- and ultimately decides whether the current record should be emitted to the output file. The method follows a **routing/dispatch pattern**: it reads a discriminator code from the database record, then delegates to service-type-specific helper methods (e.g., `getTelNoCanYyk`, `isSeikyMatch`, `judChgConstrCost`, `isAdchgTelNo`, `isTellEnd`) to compute the output flag. Its role in the larger system is to bridge the batch's raw contract data with downstream file generation, acting as the gatekeeper that filters which service-contract rows flow into the output file based on NTT's complex service-bundle and promotion rules. The method also handles a special pre-check path (`icjknJdgFlg`) for temporary fund information acquisition, where it short-circuits after applying a simplified NTT-separation classification.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["outSvcKnrnInfoJdg"])
    START --> F1{icjknJdgFlg == true?}
    F1 -->|true| T1[typenJdg dbInfSvcKei]
    T1 --> T2{typenJdg result non-blank?}
    T2 -->|true| T3{MNGN_DSP_JKN_KSITEI_CD == 044 FTTH Auth Separation?}
    T3 -->|true| T4[outmap.setOutFlg true]
    T4 --> T5[printDebugLog temp fund info 044]
    T5 --> T6[outputBean.addOutMapList outmap]
    T6 --> T7[return]
    T3 -->|false| T7
    T2 -->|false| T7
    F1 -->|false| F2{MNGN_DSP_JKN_KSITEI_CD is blank?}
    F2 -->|true| F3[outmap.setOutFlg true]
    F3 --> F4[printDebugLog Service Contract blank]
    F4 --> F5[outputBean.addOutMapList outmap]
    F5 --> DONE(Normal exit)
    F2 -->|false| F6{== 003 Tel Cancel Expected?}
    F6 -->|true| F7{svcInfoMap CD00130_02 EO Telephone non-blank?}
    F7 -->|true| F8[getTelNoCanYyk inMap outputBean svcInfoMap]
    F8 --> F9{getTelNoCanYyk true?}
    F9 -->|true| F10[outmap.setOutFlg true]
    F10 --> F11[outputBean.addOutMapList outmap]
    F11 --> DONE
    F9 -->|false| DONE
    F7 -->|false| DONE
    F6 -->|false| F12{== 007 No Tel Cancel?}
    F12 -->|true| F13{svcInfoMap CD00130_02 non-blank?}
    F13 -->|true| F14[getTelNoCanYyk inMap outputBean svcInfoMap]
    F14 --> F15{getTelNoCanYyk false?}
    F15 -->|true| F16[outmap.setOutFlg true]
    F16 --> F17[outputBean.addOutMapList outmap]
    F17 --> DONE
    F15 -->|false| DONE
    F13 -->|false| DONE
    F12 -->|false| F18{== 004 Move Net TV TV Check?}
    F18 -->|true| F19{svcInfoMap CD00130_03 EO TV non-blank?}
    F19 -->|true| F20[get svcKeiNoNet svcKeiNoTv from svcInfoMap]
    F20 --> F21[isSeikyMatch svcKeiNoNet svcKeiNoTv]
    F21 --> F22{Net and TV same bill?}
    F22 -->|true| F23[outmap.setOutFlg true]
    F23 --> F24[outputBean.addOutMapList outmap]
    F24 --> DONE
    F22 -->|false| DONE
    F19 -->|false| DONE
    F18 -->|false| F25{== 005 Move Net Tel Net Check?}
    F25 -->|true| F26{svcInfoMap CD00130_01 EO Net non-blank?}
    F26 -->|true| F27[get svcKeiNoNet svcKeiNoTel]
    F27 --> F28[isSeikyMatch svcKeiNoNet svcKeiNoTel]
    F28 --> F29{Net and Tel same bill?}
    F29 -->|true| F30[outmap.setOutFlg true]
    F30 --> F31[outputBean.addOutMapList outmap]
    F31 --> DONE
    F29 -->|false| DONE
    F26 -->|false| DONE
    F25 -->|false| F32{== 006 Move TV Tel TV Check?}
    F32 -->|true| F33{svcInfoMap CD00130_03 non-blank?}
    F33 -->|true| F34[getSeikyKeiNo for Net Tel and TV]
    F34 --> F35{seikyTel == seikyTv AND seikyNet != seikyTel?}
    F35 -->|true| F36[outmap.setOutFlg true]
    F36 --> F37[outputBean.addOutMapList outmap]
    F37 --> DONE
    F35 -->|false| DONE
    F33 -->|false| DONE
    F32 -->|false| F38{== 017 Move Tel Add Yes?}
    F38 -->|true| F39[isAdchgTelNo inMap outputBean]
    F39 --> F40{true?}
    F40 -->|true| F41[outmap.setOutFlg true]
    F41 --> F42[outputBean.addOutMapList outmap]
    F42 --> DONE
    F40 -->|false| DONE
    F38 -->|false| F43{== 018 Move Tel Add No?}
    F43 -->|true| F44[isAdchgTelNo inMap outputBean]
    F44 --> F45{false?}
    F45 -->|true| F46[outmap.setOutFlg true]
    F46 --> F47[outputBean.addOutMapList outmap]
    F47 --> DONE
    F45 -->|false| DONE
    F43 -->|false| F48{== 019 Net Tel Simultaneous?}
    F48 -->|true| F49{isYakkanWrib returns false?}
    F49 -->|true| F50{jdgOrsjgsKei returns false?}
    F50 -->|true| F51[outmap.setOutFlg true]
    F51 --> F52[outputBean.addOutMapList outmap]
    F52 --> DONE
    F50 -->|false| DONE
    F49 -->|false| DONE
    F48 -->|false| F53{== 023 Pause Campaign?}
    F53 -->|true| F54[getPauseCpStaymdAndRlsYmd svcMapList pauseStaymd pauseRlsymd]
    F54 --> F55[outmap.setString pause dates]
    F55 --> F56[outmap.setOutFlg true]
    F56 --> F57[outputBean.addOutMapList outmap]
    F57 --> DONE
    F53 -->|false| F58{== 025 Tel Cancel Check?}
    F58 -->|true| F59[getSvcKeiUcwkInfo SVC_KEI_UCWK_NO]
    F59 --> F60{svcKeiUcwkMap not null?}
    F60 -->|true| F61{isTellEnd returns false?}
    F61 -->|true| F62[outmap.setOutFlg true]
    F62 --> F63[outputBean.addOutMapList outmap]
    F63 --> DONE
    F61 -->|false| DONE
    F60 -->|false| DONE
    F58 -->|false| F64{== 026 Change Short?}
    F64 -->|true| F65[inMap.getString IDO_DIV]
    F65 --> F66{idoDiv == 99997 Change Short?}
    F66 -->|true| F67[outmap.setOutFlg true]
    F67 --> F68[outputBean.addOutMapList outmap]
    F68 --> DONE
    F64 -->|false| F69{== 033 5G 10G Upgrade?}
    F69 -->|true| F70[judChgConstrCost inMap]
    F70 --> F71{cost occurs?}
    F71 -->|true| F72{pcrsCd_KK3001 non-blank?}
    F72 -->|true| F73[outmap.setOutFlg true]
    F73 --> F74[outputBean.addOutMapList outmap]
    F74 --> DONE
    F72 -->|false| DONE
    F71 -->|false| F75{no cost?}
    F75 -->|true| F76{pcrsCd_KK3001 blank?}
    F76 -->|true| F77[outmap.setOutFlg true]
    F77 --> F78[outputBean.addOutMapList outmap]
    F78 --> DONE
    F69 -->|false| F79{== 034 OR 035 OR 036 Mansion FTTH?}
    F79 -->|true| F80[getTonaiSpeedCD tkHosikiKeiNo]
    F80 --> F81{== 035 AND speed 008 5G?}
    F81 -->|true| F82[outmap.setOutFlg true]
    F82 --> F83[outputBean.addOutMapList outmap]
    F83 --> DONE
    F81 -->|false| F84{== 036 AND speed 009 10G?}
    F84 -->|true| F85[outmap.setOutFlg true]
    F85 --> F86[outputBean.addOutMapList outmap]
    F86 --> DONE
    F84 -->|false| F87{== 034 AND speed neither 5G nor 10G?}
    F87 -->|true| F88[outmap.setOutFlg true]
    F88 --> F89[outputBean.addOutMapList outmap]
    F89 --> DONE
    F79 -->|false| F90{== 037 OR 040 ONU Work?}
    F90 -->|true| F91{== 037 AND Net non-blank?}
    F91 -->|true| F92[outmap.setOutFlg true]
    F92 --> F93[outputBean.addOutMapList outmap]
    F93 --> DONE
    F91 -->|false| F94{== 040 AND Net blank?}
    F94 -->|true| F95[outmap.setOutFlg true]
    F95 --> F96[outputBean.addOutMapList outmap]
    F96 --> DONE
    F90 -->|false| F97{== 038 Net Std Work Fee?}
    F97 -->|true| F98[executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007]
    F98 --> F99{KANYU_KEI_SEIKY_AMNT > 0?}
    F99 -->|true| F100[outmap.setString MANS_PRC_SKBT_CD 011]
    F100 --> F101[outmap.setOutFlg true]
    F101 --> F102[outputBean.addOutMapList outmap]
    F102 --> DONE
    F97 -->|false| F103{== 039 Tel Std Work Fee?}
    F103 -->|true| F104{isYakkanWrib false?}
    F104 -->|true| F105[executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007]
    F105 --> F106{KANYU_KEI_SEIKY_AMNT > 0?}
    F106 -->|true| F107[outmap.setString MANS_PRC_SKBT_CD 011]
    F107 --> F108[outmap.setOutFlg true]
    F108 --> F109[outputBean.addOutMapList outmap]
    F109 --> DONE
    F103 -->|false| F110{== 042 OR 043 TYPE.E Standard?}
    F110 -->|true| F111[typenJdg dbInfSvcKei]
    F111 --> F112{HOME 01 AND 042?}
    F112 -->|true| F113[outmap.setOutFlg true]
    F113 --> F114[outputBean.addOutMapList outmap]
    F114 --> DONE
    F112 -->|false| F115{MANSION 02 AND 043?}
    F115 -->|true| F116[outmap.setOutFlg true]
    F116 --> F117[outputBean.addOutMapList outmap]
    F117 --> DONE
    F110 -->|false| F118[outPutKsiteiCdMinorAlarmLog]
    F118 --> DONE
```

**Key Constant Values (resolved):**

| Constant | Resolved Value | Business Meaning |
|----------|---------------|-----------------|
| `MNGN_DSP_JKN_KSITEI_CD_003` | `"003"` | Telephone cancellation expected |
| `MNGN_DSP_JKN_KSITEI_CD_004` | `"004"` | Move Net/TV set: TV check |
| `MNGN_DSP_JKN_KSITEI_CD_005` | `"005"` | Move Net/Tel set: Net check |
| `MNGN_DSP_JKN_KSITEI_CD_006` | `"006"` | Move TV/Tel set: TV check |
| `MNGN_DSP_JKN_KSITEI_CD_007` | `"007"` | No telephone cancellation expected |
| `MNGN_DSP_JKN_KSITEI_CD_017` | `"017"` | Move telephone number addition present |
| `MNGN_DSP_JKN_KSITEI_CD_018` | `"018"` | Move telephone number addition absent |
| `MNGN_DSP_JKN_KSITEI_CD_019` | `"019"` | Internet/telephone simultaneous application standard work fee display control |
| `MNGN_DSP_JKN_KSITEI_CD_023` | `"023"` | Pause campaign display control |
| `MNGN_DSP_JKN_KSITEI_CD_025` | `"025"` | Telephone cancel check |
| `MNGN_DSP_JKN_KSITE_CD_026` | `"026"` | Contract change / short-term cancellation |
| `MNGN_DSP_JKN_KSITE_CD_033` | `"033"` | 5G/10G grade upgrade CP target judgment |
| `MNGN_DSP_JKN_KSITE_CD_034` | `"034"` | Mansion FTTH default speed method determination |
| `MNGN_DSP_JKN_KSITE_CD_035` | `"035"` | Mansion FTTH 5G speed determination |
| `MNGN_DSP_JKN_KSITE_CD_036` | `"036"` | Mansion FTTH 10G speed determination |
| `MNGN_DSP_JKN_KSITE_CD_037` | `"037"` | Home gateway ONU conversion fee / discount |
| `MNGN_DSP_JKN_KSITE_CD_038` | `"038"` | Optical wire standard work fee Net output control |
| `MNGN_DSP_JKN_KSITE_CD_039` | `"039"` | Optical wire standard work fee Tel output control |
| `MNGN_DSP_JKN_KSITE_CD_040` | `"040"` | Telephone-only home gateway ONU conversion fee / discount |
| `MNGN_DSP_JKN_KSITEI_CD_042` | `"042"` | TYPE.E standard work fee Home type |
| `MNGN_DSP_JKN_KSITEI_CD_043` | `"043"` | TYPE.E standard work fee Mansion type |
| `MNGN_DSP_JKN_KSITEI_CD_044` | `"044"` | FTTH Auth separation NTT separation - cost change check |
| `JKKStrConst.CD00130_01` | `"01"` | EO Net service |
| `JKKStrConst.CD00130_02` | `"02"` | EO Telephone service |
| `JKKStrConst.CD00130_03` | `"03"` | EO TV service |
| `JKKStrConst.NTT_HOME_TYPE` | `"01"` | NTT Home type residence |
| `JKKStrConst.NTT_MANSION_TYPE` | `"02"` | NTT Mansion type residence |
| `JKKStrConst.TONAI_SPEED_CD_5G` | `"008"` | Internal speed code 5G/5G |
| `JKKStrConst.TONAI_SPEED_CD_10G` | `"009"` | Internal speed code 10G/10G |
| `JKKBatConst.IDO_DIV_CHO_SOKU_WRIB` | `"99997"` | Contract change / short-term cancellation movement division |
| `MANS_PRC_SKBT_CD_011` | `"011"` | Mansion standard work fee service type code |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `inMap` | `JBSbatServiceInterfaceMap` | Input service interface map carrying batch processing context data, including the `IDO_DIV` (movement division code) and `SYSID` (system identifier used to determine if this is a cancellation case). Contains the service contract line number (`KNYTCS_NO`). |
| 2 | `outmap` | `JBSbatServiceInterfaceMap` | Output service interface map that accumulates the decision results. The `setOutFlg(true)` call marks this record for emission to the output file, and `setString` calls set pause campaign dates or standard work fee service type codes. |
| 3 | `outputBean` | `JBSbatOutputItem` | The output file bean that collects eligible records. `addOutMapList(outmap)` is called when a record passes all eligibility checks, appending the output map to the file record list. |
| 4 | `svcInfoMap` | `HashMap<String, String>` | Service type information map keyed by CD00130 constants. CD00130_01 = Net service indicator, CD00130_02 = Telephone service indicator, CD00130_03 = TV service indicator. Used across multiple branches to determine which services exist for the customer. |
| 5 | `svcMapList` | `ArrayList<HashMap<String, String>>` | List of service detail maps, used by `isYakkanWrib` to check for simultaneous internet/telephone applications, and by `getPauseCpStaymdAndRlsYmd` to retrieve pause campaign pause/relief dates. |
| 6 | `dbInfSvcKei` | `JBSbatCommonDBInterface` | Database interface for the service detail contract data source. Provides `getString()` calls to read the discriminator code (`MNGN_DSP_JKN_KSITEI_CD`), the contract line number, display management codes, presentation position ID, provision plan contract number (`TK_HOSIKI_KEI_NO`), and the `SVC_KEI_UCWK_NO` (service detail work number). Also read by `typenJdg` for NTT residence classification. |
| 7 | `icjknJdgFlg` | `boolean` | Temporary fund information acquisition flag. When `true`, the method enters a special short-circuit branch that classifies NTT separation status and either sets the output flag (for code "044") or returns immediately without processing. This branch handles a distinct batch entry path. |

**Instance fields read:**

| Field | Type | Usage |
|-------|------|-------|
| `super.logPrint` | Log print utility | `printDebugLog` calls throughout all branches for audit trail |
| `super.opeDate` | Operation date | Passed to `executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007` as the third parameter for date-based SQL queries |
| `db_KK_T_TK_HSK_KEI_PRC` | JBSbatCommonDBInterface | Database result set for the `executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007` query, read via `selectNext()` in branches 038 and 039 |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JBSbatKKKnytcsTrgtCst.getTelNoCanYyk` | (internal) | (depends on called method) | Reads telephone cancellation status from service data to determine output eligibility for codes 003/007 |
| R | `JBSbatKKKnytcsTrgtCst.isSeikyMatch` | (internal) | (depends on called method) | Queries contract billing relationships to verify Net/TV or Net/Tel billing alignment for move-related codes 004/005/006 |
| R | `JBSbatKKKnytcsTrgtCst.getSeikyKeiNo` | (internal) | (depends on called method) | Retrieves billing contract number for a given service detail work number, used in code 006 TV/Tel comparison |
| R | `JBSbatKKKnytcsTrgtCst.getPauseCpStaymdAndRlsYmd` | (internal) | SVC_PAUSE_CHRG_STAYMD, SVC_PAUSE_RLS_YMD | Reads pause campaign start and relief dates from the `svcMapList` and computes pause/relief dates |
| R | `JBSbatKKKnytcsTrgtCst.getSvcKeiUcwkInfo` | (internal) | SVC_KEI_UCWK_NO (from DB) | Retrieves service detail contract inner information map by service detail work number, used for cancel check (code 025) |
| R | `JBSbatKKKnytcsTrgtCst.isTellEnd` | (internal) | (depends on called method) | Checks if the telephone service has been ended (canceled), used as a gate for code 025 |
| R | `JBSbatKKKnytcsTrgtCst.isAdchgTelNo` | (internal) | (depends on called method) | Checks if telephone number was added during move, used for codes 017/018 |
| R | `JBSbatKKKnytcsTrgtCst.isYakkanWrib` | (internal) | (depends on called method) | Checks whether internet and telephone were applied simultaneously (non-simultaneous = true), used for codes 019/039 |
| R | `JBSbatKKKnytcsTrgtCst.jdgOrsjgsKei` | (internal) | SYSID from inMap | Determines if this is a cancellation case based on SYSID, used as an exclusion gate in code 019 |
| R | `JBSbatKKKnytcsTrgtCst.judChgConstrCost` | (internal) | (depends on called method) | Judges whether a change construction fee applies for 5G/10G upgrades (code 033) |
| R | `JBSbatKKKnytcsTrgtCst.getTonaiSpeedCD` | (internal) | TK_HOSIKI_KEI_NO (from DB) | Retrieves the internal speed code (5G/10G/non-5G10G) for mansion FTTH speed determination (codes 034/035/036) |
| R | `JBSbatKKKnytcsTrgtCst.typenJdg` | (internal) | DB via dbInfSvcKei | Classifies NTT residence as Home ("01") or Mansion ("02"), used in codes 042/043 and temporary fund branch |
| R | `JBSbatKKKnytcsTrgtCst.executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007` | (internal SC) | KK_T_TK_HSK_KEI_PRC | Executes a SQL SELECT to query the provision plan contract pricing schema data for standard work fee amounts (KANYU_KEI_SEIKY_AMNT), used in codes 038/039 |
| - | `JBSbatKKKnytcsTrgtCst.outPutKsiteiCdMinorAlarmLog` | (internal) | - | Logs a business error (EKB1280CW) for unrecognized display condition specification codes |
| - | `JACBatCommon.printDebugLog` | - | - | Debug logging utility for all branch-specific debug log output |
| - | `JBSbatACIcjknTrkmRsltHenshu.setOutFlg` | - | - | Sets the output flag on the outmap interface |
| - | `JBSbatFUCaseFileRnkData.getString` | - | - | Reads string values from service interface maps |
| - | `JBSbatFUMoveNaviData.getString` | - | - | Reads string values from service interface maps |
| - | `JZEBatCommon.nullToBlank` | - | - | Utility: converts null to blank string for safe string operations |
| - | `JZMBatCommon.trim` | - | - | Utility: trims whitespace from strings |
| - | `JBSbatKKKnytcsTrgtCst.getTelNoCanYyk` (read from outmap) | - | - | Reads the telephone cancellation result from the outmap |

## 5. Dependency Trace

### Callers

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Details |
|---|----------------------|--------------------------------------|---------|
| 1 | Batch: `JBSbatKKKnytcsTrgtCst.outSvcKnrnInfo()` | `outSvcKnrnInfo()` -> `outSvcKnrnInfoJdg(inMap, outmap, outputBean, svcInfoMap, svcMapList, dbInfIcjknSete, true)` | Called with `icjknJdgFlg=true`. This is the temporary fund information acquisition entry point. |
| 2 | Batch: `JBSbatKKKnytcsTrgtCst.outPutIcjknSette()` | `outPutIcjknSette()` -> `outSvcKnrnInfoJdg(inMap, outmap, outputBean, svcInfoMap, svcMapList, dbInfSvcKei, false)` | Called with `icjcnJdgFlg=false`. This is the standard processing entry point after ICJKN settlement. |

### Terminal operations from this method

The terminal operations (leaf data access patterns) from this method are primarily `getString` [R] calls against the `dbInfSvcKei` and `inMap` interfaces, reading discriminator codes, contract numbers, service identifiers, and provision plan numbers. These feed the decision logic branches without direct database write operations -- the method only sets in-memory flags (`setOutFlg`) and appends to output lists (`addOutMapList`). The only cross-SC call that performs a SQL SELECT is `executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007` in branches 038/039.

## 6. Per-Branch Detail Blocks

**Block 1** -- IF `(icjknJdgFlg)` [Temporary Fund Information Acquisition Pre-check] (L9737)

> When `icjknJdgFlg` is true, this branch handles the temporary fund information acquisition path. It classifies NTT separation status and short-circuits processing.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `typenJdg(dbInfSvcKei)` // Classifies NTT residence type (HOME=01 or MANSION=02) |
| 2 | IF | `!JKKStringUtil.isNullBlank(typenJdgResult)` // NTT separation result is non-blank |
| 3 | IF | `MNGN_DSP_JKN_KSITEI_CD_044.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [044 = FTTH Auth Separation] |
| 4 | EXEC | `outmap.setOutFlg(true)` // Set output flag |
| 5 | EXEC | `super.logPrint.printDebugLog("Temporary Fund [Special: 044]: " + dbInfSvcKei.getString(KNYTCS_DSP_MNGN_CD))` // Debug log |
| 6 | EXEC | `outputBean.addOutMapList(outmap)` // Append to output file |
| 7 | RETURN | `return` // Short-circuit return |
| 8 | ELSE-IF | `MNGN_DSP_JKN_KSITEI_CD_044.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [same condition in else-branch] |
| 9 | RETURN | `return` // No processing for code 044 when typenJdg is blank |
| 10 | RETURN | `return` // Normal return when typenJdg is blank |

**Block 2** -- ELSE-IF `(MNGN_DSP_JKN_KSITEI_CD is blank)` [Default Output] (L9758)

> When no display condition specification code is present, output the record as-is. This is the default path for unspecified service contracts.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKKStringUtil.isNullBlank(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` // Code is blank/null |
| 2 | EXEC | `outmap.setOutFlg(true)` // Set output flag |
| 3 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: NULL]: " + dbInfSvcKei.getString(KNYTCS_DSP_MNGN_CD))` // Debug log |
| 4 | EXEC | `outputBean.addOutMapList(outmap)` // Append to output file |

**Block 3** -- ELSE-IF `(== "003")` [Telephone Cancellation Expected] (L9769)

> When telephone cancellation is expected, check if EO telephone service exists and if cancellation has already occurred (canYyk == true means cancellation happened, so output the record).

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_003.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [003 = Tel Cancel Expected] |
| 2 | IF | `!JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_02))` // EO telephone service exists |
| 3 | CALL | `getTelNoCanYyk(inMap, outputBean, svcInfoMap)` // Check telephone cancellation status |
| 4 | IF | `getTelNoCanYyk returns true` // Cancellation already occurred (expected behavior) |
| 5 | EXEC | `outmap.setOutFlg(true)` |
| 6 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 003]: " + ...)` |
| 7 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 4** -- ELSE-IF `(== "007")` [No Telephone Cancellation Expected] (L9791)

> When no telephone cancellation is expected, the record should be output only if cancellation has NOT occurred (getTelNoCanYyk == false). Inverse logic from block 3.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_007.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [007 = No Tel Cancel] |
| 2 | IF | `!JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_02))` // EO telephone service exists |
| 3 | CALL | `getTelNoCanYyk(inMap, outputBean, svcInfoMap)` |
| 4 | IF | `!getTelNoCanYyk(...)` // Cancellation has NOT occurred (inverse of block 3) |
| 5 | EXEC | `outmap.setOutFlg(true)` |
| 6 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 007]: " + ...)` |
| 7 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 5** -- ELSE-IF `(== "004")` [Move Net/TV -- TV Check] (L9815)

> For moves involving Net + TV bundle, verify that Net and TV billing accounts match. If they do, output the record to indicate the TV should be displayed.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_004.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [004 = Move Net/TV TV Check] |
| 2 | IF | `!JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_03))` // EO TV service exists |
| 3 | SET | `svcKeiNoNet = svcInfoMap.get(CD00130_01)` |
| 4 | SET | `svcKeiNoTv = svcInfoMap.get(CD00130_03)` |
| 5 | CALL | `isSeikyMatch(svcKeiNoNet, svcKeiNoTv)` // Check if Net and TV share the same billing account |
| 6 | IF | `isSeikyMatch returns true` // Net and TV billed together |
| 7 | EXEC | `outmap.setOutFlg(true)` |
| 8 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 004]: " + ...)` |
| 9 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 6** -- ELSE-IF `(== "005")` [Move Net/Tel -- Net Check] (L9837)

> For moves involving Net + Tel bundle, verify that Net and Tel billing accounts match. If they do, output the record.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_005.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [005 = Move Net/Tel Net Check] |
| 2 | IF | `!JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_01))` // EO Net service exists |
| 3 | SET | `svcKeiNoNet = svcInfoMap.get(CD00130_01)` |
| 4 | SET | `svcKeiNoTel = svcInfoMap.get(CD00130_02)` |
| 5 | CALL | `isSeikyMatch(svcKeiNoNet, svcKeiNoTel)` // Check if Net and Tel share the same billing account |
| 6 | IF | `isSeikyMatch returns true` // Net and Tel billed together |
| 7 | EXEC | `outmap.setOutFlg(true)` |
| 8 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 005]: " + ...)` |
| 9 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 7** -- ELSE-IF `(== "006")` [Move TV/Tel -- TV Check] (L9859)

> For moves involving TV + Tel bundle, retrieve the billing contract numbers (seikyKeiNo) for all three services. Output the record if Tel and TV share the same billing account AND Net has a different billing account (or does not exist). This verifies TV+Tel are bundled separately from Net.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_006.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [006 = Move TV/Tel TV Check] |
| 2 | IF | `!JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_03))` // EO TV service exists |
| 3 | SET | `svcKeiNoNet = svcInfoMap.get(CD00130_01)` |
| 4 | SET | `svcKeiNoTel = svcInfoMap.get(CD00130_02)` |
| 5 | SET | `svcKeiNoTv = svcInfoMap.get(CD00130_03)` |
| 6 | SET | `seikyKeiNoNet = nullToBlank(getSeikyKeiNo(svcKeiNoNet))` |
| 7 | SET | `seikyKeiNoTel = nullToBlank(getSeikyKeiNo(svcKeiNoTel))` |
| 8 | SET | `seikyKeiNoTv = nullToBlank(getSeikyKeiNo(svcKeiNoTv))` |
| 9 | IF | `(seikyKeiNoTel.equals(seikyKeiNoTv) && !seikyKeiNoNet.equals(seikyKeiNoTel))` // Tel and TV same bill, Net is separate bill (or Net does not exist) |
| 10 | EXEC | `outmap.setOutFlg(true)` |
| 11 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 006]: " + ...)` |
| 12 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 8** -- ELSE-IF `(== "017")` [Move Telephone Number Addition Present] (L9893)

> For moves where telephone number addition is expected, check if a telephone number was actually added.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_017.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [017 = Move Tel Add Yes] |
| 2 | CALL | `isAdchgTelNo(inMap, outputBean)` |
| 3 | IF | `isAdchgTelNo returns true` // Telephone number was added |
| 4 | EXEC | `outmap.setOutFlg(true)` |
| 5 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 017]: " + ...)` |
| 6 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 9** -- ELSE-IF `(== "018")` [Move Telephone Number Addition Absent] (L9905)

> For moves where telephone number addition is NOT expected, output the record if no telephone number was added (inverse of block 8).

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_018.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [018 = Move Tel Add No] |
| 2 | CALL | `isAdchgTelNo(inMap, outputBean)` |
| 3 | IF | `!isAdchgTelNo(...)` // Telephone number was NOT added (inverse) |
| 4 | EXEC | `outmap.setOutFlg(true)` |
| 5 | EXEC | `super.logPrint.printDebugLog("Service Contract [Special: 018]: " + ...)` |
| 6 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 10** -- ELSE-IF `(== "019")` [Internet/Telephone Simultaneous Application -- Standard Work Fee] (L9928)

> For internet/telephone simultaneous applications, output the telephone standard work fee only when services were NOT applied simultaneously AND this is not a cancellation case.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_019.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [019 = Net/Tel Simultaneous Std Work] |
| 2 | IF | `!isYakkanWrib(svcInfoMap, svcMapList)` // Services were NOT applied simultaneously |
| 3 | IF | `!jdgOrsjgsKei(inMap)` // Not a cancellation case |
| 4 | EXEC | `outmap.setOutFlg(true)` |
| 5 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 11** -- ELSE-IF `(== "023")` [Pause Campaign Display Control] (L9955)

> Retrieves pause campaign start and relief dates from the service map list and sets them into the outmap. Always outputs the record after date processing.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITEI_CD_023.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [023 = Pause Campaign] |
| 2 | SET | `pauseStaymd = outmap.getString(SVC_PAUSE_CHRG_STAYMD)` |
| 3 | SET | `pauseRlsymd = outmap.getString(SVC_PAUSE_RLS_YMD)` |
| 4 | CALL | `getPauseCpStaymdAndRlsYmd(svcMapList, pauseStaymd, pauseRlsymd)` // Returns String[2] |
| 5 | SET | `outmap.setString(SVC_PAUSE_CHRG_STAYMD, puaseCpDate[0])` |
| 6 | SET | `outmap.setString(SVC_PAUSE_RLS_YMD, puaseCpDate[1])` |
| 7 | EXEC | `outmap.setOutFlg(true)` |
| 8 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 12** -- ELSE-IF `(== "025")` [Telephone Cancel Check] (L9976)

> Retrieves service detail contract inner information (cancellation data) and checks whether the telephone service is still active (not ended). If not ended, output the record.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITE_CD_025.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [025 = Tel Cancel Check] |
| 2 | CALL | `getSvcKeiUcwkInfo(dbInfSvcKei.getString(SVC_KEI_UCWK_NO))` // Get service detail cancellation info |
| 3 | IF | `svcKeiUcwkMap != null` // Cancellation info was retrieved |
| 4 | IF | `!isTellEnd(svcKeiUcwkMap)` // Telephone has NOT been ended/canceled |
| 5 | EXEC | `outmap.setOutFlg(true)` |
| 6 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 13** -- ELSE-IF `(== "026")` [Contract Change / Short-Term Cancellation] (L10001)

> Checks if the movement division code (`IDO_DIV`) indicates a contract change or short-term cancellation. If so, output the record.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITE_CD_026.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [026 = Change/Short-Term] |
| 2 | SET | `idoDiv = inMap.getString(IDO_DIV)` |
| 3 | IF | `IDO_DIV_CHO_SOKU_WRIB.equals(idoDiv)` [99997 = Change/Short-Term] |
| 4 | EXEC | `outmap.setOutFlg(true)` |
| 5 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 14** -- ELSE-IF `(== "033")` [5G/10G Grade Upgrade -- Construction Fee Judgment] (L10013)

> For 5G/10G upgrade cases, judge whether a construction fee occurs. If the fee occurs and a price code is set, output a paid record. If no fee occurs and no price code is set, output a free record.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITE_CD_033.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [033 = 5G/10G Upgrade Charge] |
| 2 | SET | `pcrsCd_KK3001 = dbInfSvcKei.getString(PCRS_CD + "_KK3001")` |
| 3 | CALL | `judChgConstrCost(inMap)` // Returns true if construction fee occurs |
| 4 | IF | `judChgConstrCost returns true` // Construction fee occurs |
| 5 | IF | `!JKKStringUtil.isNullBlank(pcrsCd_KK3001)` // Price code is set (paid record) |
| 6 | EXEC | `outmap.setOutFlg(true)` |
| 7 | EXEC | `outputBean.addOutMapList(outmap)` |
| 8 | ELSE | // No construction fee |
| 9 | IF | `JKKStringUtil.isNullBlank(pcrsCd_KK3001)` // Price code is not set (free record) |
| 10 | EXEC | `outmap.setOutFlg(true)` |
| 11 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 15** -- ELSE-IF `(== "034" OR "035" OR "036")` [Mansion FTTH Speed Determination] (L10048)

> For mansion FTTH cases (1G/5G/10G speed methods), all three share the same price code and price plan code, so multiple records are obtained. The output record is determined by matching the internal speed code with the display condition specification code.

| # | Type | Code |
|---|------|------|
| 1 | IF | `(MNGN_DSP_JKN_KSITE_CD_034 OR 035 OR 036) equals(MNGN_DSP_JKN_KSITEI_CD)` [034/035/036 = Mansion FTTH] |
| 2 | SET | `tonaiSpeedCD = getTonaiSpeedCD(dbInfSvcKei.getString(TK_HOSIKI_KEI_NO))` |
| 3 | IF | `== 035 AND tonaiSpeedCD == TONAI_SPEED_CD_5G("008")` // 5G mansion |
| 4 | EXEC | `outmap.setOutFlg(true)` |
| 5 | EXEC | `outputBean.addOutMapList(outmap)` |
| 6 | ELSE-IF | `== 036 AND tonaiSpeedCD == TONAI_SPEED_CD_10G("009")` // 10G mansion |
| 7 | EXEC | `outmap.setOutFlg(true)` |
| 8 | EXEC | `outputBean.addOutMapList(outmap)` |
| 9 | ELSE-IF | `== 034 AND tonaiSpeedCD is neither 5G nor 10G` // Non-5G/10G (default 1G) |
| 10 | EXEC | `outmap.setOutFlg(true)` |
| 11 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 16** -- ELSE-IF `(== "037" OR "040")` [ONU Conversion Work Fee] (L10086)

> For ONU (Optical Network Unit) conversion work fee cases: code 037 is for home gateway cases (Net exists), code 040 is for telephone-only cases (Net does not exist). Both output the ONU conversion fee and discount display control records.

| # | Type | Code |
|---|------|------|
| 1 | IF | `(MNGN_DSP_JKN_KSITE_CD_037 OR 040) equals(MNGN_DSP_JKN_KSITEI_CD)` [037 = Home Gateway ONU Work, 040 = Tel-only ONU Work] |
| 2 | IF | `== 037 AND !JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_01))` // Home gateway: Net exists |
| 3 | EXEC | `outmap.setOutFlg(true)` |
| 4 | EXEC | `outputBean.addOutMapList(outmap)` |
| 5 | ELSE-IF | `== 040 AND JKKStringUtil.isNullBlank(svcInfoMap.get(CD00130_01))` // Tel-only: Net does not exist |
| 6 | EXEC | `outmap.setOutFlg(true)` |
| 7 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 17** -- ELSE-IF `(== "038")` [Optical Wire Standard Work Fee (Net)] (L10119)

> For the net optical wire standard work fee output control, retrieve the provision plan contract number, query the provision plan pricing schema (`KK_T_TK_HSK_KEI_PRC`) to get the contract fee amount, and output if the mansion standard work fee is greater than 0.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITE_CD_038.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [038 = Net Std Work Fee] |
| 2 | SET | `tkHoshikiKeiNo = dbInfSvcKei.getString(TK_HOSIKI_KEI_NO)` |
| 3 | IF | `!JKKStringUtil.isNullBlank(tkHoshikiKeiNo)` // Provision plan number exists |
| 4 | SET | `dbMap = null` |
| 5 | CALL | `executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007(new String[]{tkHoshikiKeiNo, MANS_PRC_SKBT_CD_011, super.opeDate})` |
| 6 | SET | `dbMap = db_KK_T_TK_HSK_KEI_PRC.selectNext()` |
| 7 | IF | `dbMap != null` // Provision plan pricing data exists |
| 8 | IF | `dbMap.getBigDecimal(KANYU_KEI_SEIKY_AMNT) != null` // Amount is set |
| 9 | SET | `knytcsHtkCkanMoji = trim(String.format("%1$,3d", dbMap.getBigDecimal(KANYU_KEI_SEIKY_AMNT).intValue()))` |
| 10 | ELSE | `knytcsHtkCkanMoji = "0"` |
| 11 | IF | `"0".compareTo(knytcsHtkCkanMoji) < 0` // Amount > 0 |
| 12 | SET | `outmap.setString(MANS_PRC_SKBT_CD, MANS_PRC_SKBT_CD_011)` |
| 13 | EXEC | `outmap.setOutFlg(true)` |
| 14 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 18** -- ELSE-IF `(== "039")` [Optical Wire Standard Work Fee (Tel)] (L10159)

> For the telephone optical wire standard work fee output control. If internet and telephone are not applied simultaneously (telephone service is standalone), retrieve the provision plan pricing and output if the mansion standard work fee is greater than 0. Note: if Net service exists, Tel standard work fee is NOT generated because the Net already covers it.

| # | Type | Code |
|---|------|------|
| 1 | IF | `MNGN_DSP_JKN_KSITE_CD_039.equals(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD))` [039 = Tel Std Work Fee] |
| 2 | IF | `!isYakkanWrib(svcInfoMap, svcMapList)` // Net and Tel NOT applied simultaneously |
| 3 | SET | `tkHoshikiKeiNo = dbInfSvcKei.getString(TK_HOSIKI_KEI_NO)` |
| 4 | IF | `!JKKStringUtil.isNullBlank(tkHoshikiKeiNo)` |
| 5 | SET | `dbMap = null` |
| 6 | CALL | `executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007(new String[]{tkHoshikiKeiNo, MANS_PRC_SKBT_CD_011, super.opeDate})` |
| 7 | SET | `dbMap = db_KK_T_TK_HSK_KEI_PRC.selectNext()` |
| 8 | IF | `dbMap != null` |
| 9 | IF | `dbMap.getBigDecimal(KANYU_KEI_SEIKY_AMNT) != null` |
| 10 | SET | `knytcsHtkCkanMoji = trim(String.format("%1$,3d", dbMap.getBigDecimal(KANYU_KEI_SEIKY_AMNT).intValue()))` |
| 11 | ELSE | `knytcsHtkCkanMoji = "0"` |
| 12 | IF | `"0".compareTo(knytcsHtkCkanMoji) < 0` // Amount > 0 |
| 13 | SET | `outmap.setString(MANS_PRC_SKBT_CD, MANS_PRC_SKBT_CD_011)` |
| 14 | EXEC | `outmap.setOutFlg(true)` |
| 15 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 19** -- ELSE-IF `(== "042" OR "043")` [TYPE.E Standard Work Fee -- Home/Mansion Type] (L10200)

> For TYPE.E standard work fee cases: code 042 is for home type, code 043 is for mansion type. The `typenJdg` method classifies the NTT residence type, and the output is determined by matching the type with the code.

| # | Type | Code |
|---|------|------|
| 1 | IF | `(MNGN_DSP_JKN_KSITEI_CD_042 OR 043) equals(MNGN_DSP_JKN_KSITEI_CD)` [042 = TYPE.E Home, 043 = TYPE.E Mansion] |
| 2 | SET | `nttorsjdgRslt = typenJdg(dbInfSvcKei)` // Returns "01" (HOME) or "02" (MANSION) |
| 3 | IF | `NTT_HOME_TYPE("01").equals(nttorsjdgRslt) AND == 042` // Home type with code 042 |
| 4 | EXEC | `outmap.setOutFlg(true)` |
| 5 | EXEC | `outputBean.addOutMapList(outmap)` |
| 6 | ELSE-IF | `NTT_MANSION_TYPE("02").equals(nttorsjdgRslt) AND == 043` // Mansion type with code 043 |
| 7 | EXEC | `outmap.setOutFlg(true)` |
| 8 | EXEC | `outputBean.addOutMapList(outmap)` |

**Block 20** -- ELSE `[Unrecognized Display Condition Specification Code]` (L10229)

> When none of the known display condition specification codes match, output a minor alarm log with the unrecognized code and relevant identifiers. This is the error handling fallback.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `outPutKsiteiCdMinorAlarmLog(dbInfSvcKei.getString(MNGN_DSP_JKN_KSITEI_CD), inMap.getString(KNYTCS_NO), dbInfSvcKei.getString(KNYTCS_DSP_MNGN_CD), dbInfSvcKei.getString(DSP_PST_SKCD))` |
| 2 | CALL | `super.logPrint.printBusinessErrorLog(EKKB1280CW, new String[]{mngnDspJknKsiteiCd, knytcsNo, knytcsDspMngnCd, dspPstSkcd})` // Logs error in the called method |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `MNGN_DSP_JKN_KSITEI_CD` | Field | Display condition specification code -- the primary discriminator that determines which decision branch the method follows |
| `MNGN_DSP_JKN_KSITE_CD` | Field | Display condition specification code (alternate naming, used for codes 025+) |
| `icjknJdgFlg` | Parameter | Temporary fund information acquisition flag -- when true, enters special NTT separation classification pre-check |
| `svcInfoMap` | Parameter | Service type information map -- keyed by CD00130 codes to identify Net ("01"), Telephone ("02"), and TV ("03") services |
| `svcMapList` | Parameter | Service detail contract map list -- contains detailed service data including pause campaign dates |
| `dbInfSvcKei` | Parameter | Database interface for the service detail contract data source |
| `typenJdg` | Method | Classifies NTT residence type as Home ("01") or Mansion ("02") |
| `getTelNoCanYyk` | Method | Checks telephone cancellation status -- returns true if cancellation occurred, false otherwise |
| `isSeikyMatch` | Method | Compares billing contract numbers to determine if two services share the same billing account |
| `getSeikyKeiNo` | Method | Retrieves the billing contract number (seiky keiyaku bangou) for a given service detail work number |
| `isAdchgTelNo` | Method | Checks whether a telephone number was added during a move (住変 = residence change) |
| `isYakkanWrib` | Method | Checks whether internet and telephone services were applied simultaneously |
| `jdgOrsjgsKei` | Method | Determines if this is a cancellation case based on the SYSID in inMap |
| `judChgConstrCost` | Method | Judges whether a construction fee applies for 5G/10G grade upgrades |
| `getTonaiSpeedCD` | Method | Retrieves the internal speed code (5G=008, 10G=009, or other) for the provision plan contract |
| `isTellEnd` | Method | Checks if the telephone service has been ended/canceled |
| `getSvcKeiUcwkInfo` | Method | Retrieves service detail contract inner information (cancellation data) |
| `getPauseCpStaymdAndRlsYmd` | Method | Retrieves and computes pause campaign start date (staymd) and relief date (rlsymd) |
| `executeKK_T_TK_HSK_KEI_PRC_KK_SELECT_007` | Method | Executes SQL SELECT on KK_T_TK_HSK_KEI_PRC table to retrieve provision plan pricing schema data |
| `outPutKsiteiCdMinorAlarmLog` | Method | Logs a business error for unrecognized display condition specification codes |
| CD00130_01 | Constant | EO Net service indicator |
| CD00130_02 | Constant | EO Telephone service indicator |
| CD00130_03 | Constant | EO TV service indicator |
| NTT_HOME_TYPE | Constant | "01" -- NTT Home type residence classification |
| NTT_MANSION_TYPE | Constant | "02" -- NTT Mansion type residence classification |
| TONAI_SPEED_CD_5G | Constant | "008" -- Internal speed code for 5G/5G |
| TONAI_SPEED_CD_10G | Constant | "009" -- Internal speed code for 10G/10G |
| IDO_DIV_CHO_SOKU_WRIB | Constant | "99997" -- Movement division code for contract change / short-term cancellation |
| MANS_PRC_SKBT_CD_011 | Constant | "011" -- Mansion standard work fee service type code |
| KANYU_KEI_SEIKY_AMNT | Field | Contract fee billing amount -- the monetary amount from KK_T_TK_HSK_KEI_PRC table |
| TK_HOSIKI_KEI_NO | Field | Provision plan contract number -- identifies the provision plan pricing contract |
| SVC_KEI_UCWK_NO | Field | Service detail work number -- internal tracking ID for service contract line items |
| KNYTCS_NO | Field | Service contract notification document number |
| MNGN_DSP_JKN_KSITEI_CD | Field | Display condition specification code -- discriminator for branch selection |
| SVC_PAUSE_CHRG_STAYMD | Field | Service pause charge pause start date |
| SVC_PAUSE_RLS_YMD | Field | Service pause charge relief date |
| PCRS_CD | Field | Price code -- prefixed with service type suffix (e.g., "_KK3001") |
| 003 | SC Code value | Telephone cancellation expected -- output when cancellation occurred |
| 004 | SC Code value | Move (住変) Net/TV bundle: TV check -- output when Net and TV share billing |
| 005 | SC Code value | Move (住変) Net/Tel bundle: Net check -- output when Net and Tel share billing |
| 006 | SC Code value | Move (住変) TV/Tel bundle: TV check -- output when Tel and TV share billing but Net is separate |
| 007 | SC Code value | No telephone cancellation expected -- output when cancellation did NOT occur |
| 017 | SC Code value | Move telephone number addition present -- output when telephone number was added |
| 018 | SC Code value | Move telephone number addition absent -- output when telephone number was NOT added |
| 019 | SC Code value | Internet/telephone simultaneous application: standard work fee display control |
| 023 | SC Code value | Pause campaign display control -- outputs pause campaign date records |
| 025 | SC Code value | Telephone cancel check -- output when telephone has NOT been canceled |
| 026 | SC Code value | Contract change / short-term cancellation |
| 033 | SC Code value | 5G/10G grade upgrade CP target judgment -- construction fee determination |
| 034 | SC Code value | Mansion FTTH default speed method (non-5G/10G) |
| 035 | SC Code value | Mansion FTTH 5G speed determination |
| 036 | SC Code value | Mansion FTTH 10G speed determination |
| 037 | SC Code value | Home gateway ONU conversion fee / discount -- Net exists |
| 038 | SC Code value | Optical wire standard work fee (Net) output control |
| 039 | SC Code value | Optical wire standard work fee (Tel) output control |
| 040 | SC Code value | Telephone-only home gateway ONU conversion fee / discount -- Net does not exist |
| 042 | SC Code value | TYPE.E standard work fee (Home type) |
| 043 | SC Code value | TYPE.E standard work fee (Mansion type) |
| 044 | SC Code value | FTTH Auth separation (NTT separation) -- cost change check |
| KK_T_TK_HSK_KEI_PRC | DB Table | Provision plan contract pricing schema table -- stores contract fee amounts and pricing information |
| 住変 (Juhen) | Japanese term | Residence change / move -- customer moving to a new address, affecting service bundle eligibility |
| FTTH | Business term | Fiber To The Home -- fiber-optic broadband internet service |
| ONU | Acronym | Optical Network Unit -- the fiber optic terminal equipment used in FTTH deployments |
| NTT | Business term | Nippon Telegraph and Telephone Corporation -- Japan's primary telecommunications provider |
| koptBatch | System | NTT opt-batch processing system -- the batch processing environment where this method operates |
| outSvcKnrnInfo | Batch method | Caller method -- processes service contract information and invokes outSvcKnrnInfoJdg with icjknJdgFlg=true |
| outPutIcjknSette | Batch method | Caller method -- handles ICJKN settlement and invokes outSvcKnrnInfoJdg with icjknJdgFlg=false |
