# Business Logic — JBSbatKKHnsokuCdIktTrkm.execute() [407 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKHnsokuCdIktTrkm` |
| Layer | Batch (Package: `eo.business.service`, extends `JBSbatBusinessService`) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKHnsokuCdIktTrkm.execute()

This method is the primary batch processing entry point for the **Sales Promotion Code Bulk Registration** feature. Its business purpose is to read an input file (KKIFM071.def) containing a list of campaign registration requests, validate each record against the existing service contract system, and if valid, atomically insert campaign master data across multiple database tables — or, if validation fails, route the record to an error result list. Specifically, for each input record the method performs the following business checks in sequence: (a) record format and item-count integrity, (b) field-level format/attribute validation, (c) service contract existence verification, (d) service contract status validation (rejecting "terminated" or "cancelled" contracts), (e) data extraction item-to-service matching (four-tier fallback: price plan -> price code -> price group -> service code), (f) duplicate registration detection on the data extraction item setting table, and (g) referral campaign exclusion (referral campaigns are not eligible for this bulk registration path). Upon passing all checks, the method acquires five unique sequence numbers (submission number, submission detail number, data extraction item setting number), and inserts six related database entities: campaign master, campaign detail, data extraction item setting, data extraction item setting target contract, progress detail, and reason for exception — followed by a lock update and commit on the service contract exclusion control table. This method serves as a **routing/dispatch pattern**: the single `execute()` method acts as an orchestrator, delegating each validation and insertion step to specialized helper methods, thereby centralizing the batch job while delegating business rules. It operates as a **batch entry point** invoked through the processing request management infrastructure (ShoriIrai), consuming a delayed-transmission processing request and producing a campaign registration result list file.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["execute()"])

    START --> INIT_VARS["Initialize processing variables"]

    INIT_VARS --> GET_SHORI_IRAI["JCCbatShoriIraiUtil.getShoriIraiInfo"]

    GET_SHORI_IRAI --> CHECK_NULL{shoriIraiList == null?}

    CHECK_NULL -->|Yes| RETURN_NULL["logPrint.printDebugLog return null"]

    CHECK_NULL -->|No| GET_CD_NM["getCdNmKanri"]

    GET_CD_NM --> PREP_LIST["Create outputInfoList fileRecordCnt = 0"]

    PREP_LIST --> GET_RES_MAP["resutlMap = shoriIraiList.get(0)"]

    GET_RES_MAP --> GET_FILE_INFO["JCCBatCommon.searchDenshiFile"]

    GET_FILE_INFO --> OPEN_FILE["Create reader and def file createReader"]

    OPEN_FILE --> LOOP_START["next: while ready"]

    LOOP_START --> RESET_ERR["cpAddErrCd = null line = readLine fileRecordCnt++"]

    RESET_ERR --> CONV_DATA["convNonQuateStringToList lineToObject"]

    CONV_DATA --> CHECK_LINE_ERROR{isInputErrorFlg?}

    CHECK_LINE_ERROR -->|Yes| FILE_WRITE_E010["cpAddErrCd = E010 fileWrite E010 checkErr continue"]

    FILE_WRITE_E010 --> LOOP_START

    CHECK_LINE_ERROR -->|No| CHECK_FORMAT["isSingleCheckKKIFM071_INF1"]

    CHECK_FORMAT --> CHECK_FORMAT_ERR{check error?}

    CHECK_FORMAT_ERR -->|Yes| FILE_WRITE_FORMAT["fileWrite recordMap errCd checkErr continue"]

    CHECK_FORMAT_ERR -->|No| GET_SVC_INFO["getSvcKeiInfo svcKeiNo"]

    GET_SVC_INFO --> CHECK_SVC_EXISTS{svcKeiInfo == null?}

    CHECK_SVC_EXISTS -->|Yes| FILE_WRITE_E060["cpAddErrCd = E060 fileWrite E060 checkErr continue"]

    CHECK_SVC_EXISTS -->|No| GET_SVC_STAT["svcKeiStat = SVC_KEI_STAT"]

    GET_SVC_STAT --> CHECK_STAT_910{svcKeiStat == 910 terminated?}

    CHECK_STAT_910 -->|Yes| FILE_WRITE_E081["cpAddErrCd = E081 fileWrite E081 checkErr continue"]

    CHECK_STAT_910 -->|No| CHECK_STAT_920{svcKeiStat == 920 cancelled?}

    CHECK_STAT_920 -->|Yes| FILE_WRITE_E082["cpAddErrCd = E082 fileWrite E082 checkErr continue"]

    CHECK_STAT_920 -->|No| GET_DCHSKM_TG["getDchskmTgSvc dspDchskmCd"]

    GET_DCHSKM_TG --> CHECK_DCHSKM_EXISTS{dchskmTgSvcList empty?}

    CHECK_DCHSKM_EXISTS -->|Yes| FILE_WRITE_E200["cpAddErrCd = E200 fileWrite E200 checkErr continue"]

    CHECK_DCHSKM_EXISTS -->|No| MATCH_LOOP["for each dchskmTgSvcList match"]

    MATCH_LOOP --> MATCH_PRAN{PPLAN_CD match?}

    MATCH_PRAN -->|Yes| SET_MATCH["dchskmTgSvcInfo = dbMap break"]

    MATCH_PRAN -->|No| MATCH_PCRS{PCRS_CD match PPLAN blank?}

    MATCH_PCRS -->|Yes| SET_MATCH2["dchskmTgSvcInfo = dbMap break"]

    MATCH_PCRS -->|No| MATCH_PRG{PRC_GRP_CD match all blank?}

    MATCH_PRG -->|Yes| SET_MATCH3["dchskmTgSvcInfo = dbMap break"]

    MATCH_PRG -->|No| MATCH_SVC{SVC_CD match all blank?}

    MATCH_SVC -->|Yes| SET_MATCH4["dchskmTgSvcInfo = dbMap break"]

    MATCH_SVC -->|No| NEXT_ITER["i++ continue"]

    NEXT_ITER --> MATCH_LOOP

    SET_MATCH --> CHECK_DCHSKM_TG_INFO{dchskmTgSvcInfo == null?}

    SET_MATCH2 --> CHECK_DCHSKM_TG_INFO

    SET_MATCH3 --> CHECK_DCHSKM_TG_INFO

    SET_MATCH4 --> CHECK_DCHSKM_TG_INFO

    CHECK_DCHSKM_TG_INFO -->|Yes| FILE_WRITE_E070["cpAddErrCd = E070 fileWrite E070 checkErr continue"]

    CHECK_DCHSKM_TG_INFO -->|No| GET_DCHSKMST["getDchskmstInfo svcKeiNo dchskmCd"]

    GET_DCHSKMST --> DCHSKMST_LOOP["for each dchskmstList check stat"]

    DCHSKMST_LOOP --> CHECK_DCHSKMST_STAT{DCHSKMST_STAT == 010?}

    CHECK_DCHSKMST_STAT -->|Yes| FILE_WRITE_E090["cpAddErrCd = E090 fileWrite E090 checkErr continue"]

    CHECK_DCHSKMST_STAT -->|No| CHECK_SHOKAI["isShokaiCampaign dchskmCd"]

    CHECK_SHOKAI --> IS_SHOKAI{isShokaiCp == true?}

    IS_SHOKAI -->|Yes| FILE_WRITE_E220["cpAddErrCd = E220 fileWrite E220 checkErr continue"]

    IS_SHOKAI -->|No| VALID_RECORD["fileWrite recordMap null"]

    FILE_WRITE_E070 --> LOOP_START

    VALID_RECORD --> LOCK_SVC["executeKK_T_SVKEI_EXC_CTRL_KK_SELECT_001"]

    LOCK_SVC --> GET_SEQ["Get nextSeq mskmNo mskmDtlNo dchskmstNo Get sysDateTimeStamp"]

    GET_SEQ --> INSERT_DATA["Insert campaign data execute KK_T_MSKM_PKINSERT insertMskmDtl execute KK_T_DCHSKMST_PKINSERT execute KK_T_DCHSKMST_TG_KEI_PKINSERT execute KK_T_PRG_PKINSERT execute KK_T_IDO_RSN_PKINSERT"]

    INSERT_DATA --> UPDATE_SVC["executeKK_T_SVKEI_EXC_CTRL_KK_UPDATE_002 super commit"]

    UPDATE_SVC --> LOOP_START

    FILE_WRITE_E081 --> LOOP_START
    FILE_WRITE_E082 --> LOOP_START
    FILE_WRITE_E200 --> LOOP_START
    FILE_WRITE_E070 --> LOOP_START
    FILE_WRITE_E090 --> LOOP_START
    FILE_WRITE_E220 --> LOOP_START
    FILE_WRITE_FORMAT --> LOOP_START

    LOOP_START --> CHECK_OUTPUT{outputInfoList not empty?}

    CHECK_OUTPUT -->|No| RETURN_RESULT["return null"]

    CHECK_OUTPUT -->|Yes| GET_OUT_FILE["Get outMidFile from freeItem Create outputBean editOutFile"]

    GET_OUT_FILE --> CHECK_ERR_FLG{checkErr == true?}

    CHECK_ERR_FLG -->|Yes| UPDATE_RESULT_ERR["updateShoriIraiResult result 2 insertZM_T_DL_FILE_KANRI"]

    CHECK_ERR_FLG -->|No| UPDATE_RESULT_OK["updateShoriIraiResult result 1 createDenshiFile insertZM_T_DL_FILE_KANRI"]

    UPDATE_RESULT_ERR --> END_BATCH["End batch"]

    UPDATE_RESULT_OK --> END_BATCH

    END_BATCH --> RETURN_NULL
```

### Constant Resolution

| Constant | Value | Business Meaning |
|----------|-------|-----------------|
| `CD_SBT_SVC_KEI_STAT_910` | `"910"` | Service contract status: Terminated (解約済) |
| `CD_SBT_SVC_KEI_STAT_920` | `"920"` | Service contract status: Cancelled (キャンセル済) |
| `DCHSKMST_STAT_010` | `"010"` | Data extraction item setting status: Registered (登録済) |
| `E010` | `"E010"` | SP registration error: Record item count mismatch (レコードの項目数が異なる) |
| `E060` | `"E060"` | SP registration error: Service contract number does not exist |
| `E070` | `"E070"` | SP registration error: Matching data extraction item target service code does not exist |
| `E081` | `"E081"` | SP registration error: Service contract status is "Terminated" |
| `E082` | `"E082"` | SP registration error: Service contract status is "Cancelled" |
| `E090` | `"E090"` | SP registration error: Duplicate campaign registration (same data extraction item code with "Registered" status exists) |
| `E200` | `"E200"` | SP registration error: Data extraction item code does not exist in data extraction item configuration |
| `E220` | `"E220"` | SP registration error: Referral campaign (excluded from bulk registration) |
| `CP_ADD_RSLT_OK` | `"0"` | Campaign registration result: Normal (normal) |
| `CP_ADD_RSLT_ERR` | `"1"` | Campaign registration result: Check error (check error) |
| `TRN_KANRI_CP_IKT_ADD` | `"000000000027"` | Processing management number: Campaign bulk registration list |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| - | (none) | - | This method takes no parameters. It operates on instance-level state (commonItem, jobid) set by the parent class's initial() method. |

### Instance Fields and External State Read

| Field/State | Type | Business Description |
|-------------|------|---------------------|
| `commonItem` | `JBSbatCommonItem` | Batch common parameters — includes freeItem (output file path info), jobid (job identifier), and logPrint (debug logger) |
| `jobid` | `String` | Job identifier used to query processing requests from the management table |
| `opeDate` | `String` (inherited) | Processing date for debug logging |
| `db_KK_T_SVC_KEI` | `JBSbatSQLAccess` | SQL access object for KK_T_SVC_KEI (service contract table) |
| `db_KK_M_DCHSKM_TG_SVC` | `JBSbatSQLAccess` | SQL access object for KK_M_DCHSKM_TG_SVC (data extraction item target service table) |
| `db_KK_T_DCHSKMST` | `JBSbatSQLAccess` | SQL access object for KK_T_DCHSKMST (data extraction item setting table) |
| `db_KK_T_DCHSKMST_TG_KEI` | `JBSbatSQLAccess` | SQL access object for KK_T_DCHSKMST_TG_KEI (data extraction item setting target contract table) |
| `cpAddErrCdMap` | `HashMap<String, String>` | Map for storing SP registration error codes (retrieved from code name management) |
| `cpAddRsltCdMap` | `HashMap<String, String>` | Map for storing SP registration result codes (retrieved from code name management) |
| `freeItem` | `String` | Free item field from commonItem — contains delimited output file path information (directory, filename, file ID) |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `JCCbatShoriIraiUtil.getShoriIraiInfo` | JCCbatShoriIrai | - | Retrieves processing request information (delayed transmission request list) for the current jobid |
| - | `getCdNmKanri` | - | ZM_M_CD_NM_KANRI | Retrieves code name management data (error code descriptions) from ZM_M_CD_NM_KANRI table |
| R | `JCCBatCommon.searchDenshiFile` | JCCBatCommon | CC_T_EFILE_KANRI | Searches for and retrieves the file path of the input electronic file by file management number |
| R | `JBSbatInputFileUtil.readLine` | JBSbatInputFile | - | Reads one line from the input file (campaign registration list) |
| R | `JBSbatZMFileReaderUtil.ready` | JBSbatZMFileReader | - | Checks if there are more lines to read from the input file |
| C | `JCCBatCommon.createDenshiFile` | JCCBatCommon | - | Creates a new electronic file management record and returns the file management number |
| R | `JCCBatCommon.getFormatedNextSeq` | JCCBatCommon | - | Acquires the next sequential number from the sequence table (mskmNo, mskmDtlNo, dchskmstNo) |
| R | `JCCBatCommon.getSysDateTimeStamp` | JCCBatCommon | - | Retrieves the current system date-time stamp for geneAddDtm and idoDtm fields |
| R | `JCCBatCommon.getShoriIraiInfo` | JCCBatCommon | - | Alternative processing request info retrieval (commented-out code path) |
| U | `JCCBatCommon.updateShoriIraiResult` | JCCBatCommon | - | Updates processing request result (commented-out code path) |
| U | `JCCbatShoriIraiUtil.updateShoriIraiResult` | JCCbatShoriIrai | - | Updates processing request result: sets result code "1" (complete) or "2" (business error) with file path |
| - | `isSingleCheckKKIFM071_INF1` | JBSbatKKIFM071 | - | Performs file format validation: mandatory field check, attribute check, column count check on input record |
| R | `getSvcKeiInfo` | - | KK_T_SVC_KEI | Queries service contract by SVC_KEI_NO to retrieve service contract details (status, price plan, price code, price group, service code) |
| R | `getDchskmTgSvc` | - | KK_M_DCHSKM_TG_SVC | Queries data extraction item target services by DSP_DCHSKM_CD to get matching service codes |
| R | `getDchskmstInfo` | - | KK_T_DCHSKMST, KK_M_DCHSKM_TG_SVC | Queries existing data extraction item settings by SVC_KEI_NO and DCHSKM_CD for duplicate check |
| R | `isShokaiCampaign` | - | KK_M_DCHSKM | Checks if the data extraction item code corresponds to a referral campaign (being excluded) |
| C | `executeKK_T_SVKEI_EXC_CTRL_KK_SELECT_001` | JBSbatKKServiceContractExclusionControl | - | Locks the service contract exclusion control record before updating (pessimistic lock) |
| C | `executeKK_T_MSKM_PKINSERT` | JBSbatKkTMSKM | KK_T_MSKM | Inserts campaign master record (submission number, service contract number, etc.) |
| C | `insertMskmDtl` | - | KK_T_MSKM_DTL | Inserts campaign detail record (submission detail number, campaign master number, data extraction item setting number, etc.) |
| C | `executeKK_T_DCHSKMST_PKINSERT` | JBSbatKkTDchskmst | KK_T_DCHSKMST | Inserts data extraction item setting record (setting number, code, status, etc.) |
| C | `executeKK_T_DCHSKMST_TG_KEI_PKINSERT` | JBSbatKkTDchskmstTgKei | KK_T_DCHSKMST_TG_KEI | Inserts data extraction item setting target contract record (links setting to service contract) |
| C | `executeKK_T_PRG_PKINSERT` | JBSbatKKTPrg | KK_T_PRG | Inserts progress detail record (progress number, detail number, output template, etc.) |
| C | `executeKK_T_IDO_RSN_PKINSERT` | JBSbatKKTIdoRsn | KK_T_IDO_RSN | Inserts reason for exception record (exception number, service contract status, etc.) |
| U | `executeKK_T_SVKEI_EXC_CTRL_KK_UPDATE_002` | JBSbatKKServiceContractExclusionControl | KK_T_SVKEI_EXC_CTRL | Updates the service contract exclusion control table's last update date-time stamp |
| - | `super.commit` | JBSbatBusiness | - | Commits the database transaction |
| C | `insertZM_T_DL_FILE_KANRI` | - | ZM_T_DL_FILE_KANRI | Registers the output result file information (electronic file management number, output file path, record count) |
| - | `JKKBatOutputUtil.editOutFile` | JKKBatOutput | - | Writes the campaign registration result list to an output file (success/error records) |
| - | `fileWrite` | - | - | Formats a single output record with error code (or success), sets output flag, and adds to the output list |
| - | `convNonQuateStringToList` | - | - | Converts a non-quoted CSV line into a HashMap by parsing comma-delimited fields |
| - | `setMskmParam` | - | - | Builds the parameter array for KK_T_MSKM insert (campaign master) |
| - | `setDchskmstParam` | - | - | Builds the parameter array for KK_T_DCHSKMST insert (data extraction item setting) |
| - | `setDchskmstTgKeiParam` | - | - | Builds the parameter array for KK_T_DCHSKMST_TG_KEI insert (data extraction item setting target contract) |
| - | `setPrgParam` | - | - | Builds the parameter array for KK_T_PRG insert (progress detail) |
| - | `setIdoRsnParam` | - | - | Builds the parameter array for KK_T_IDO_RSN insert (reason for exception) |
| - | `JBSbatInterface.getSystemDateTimeStamp` | JBSbatInterface | - | Retrieves system date-time stamp for the service contract exclusion control update |
| - | `JBSbatAplConst.getAplConstValue` | JBSbatAplConst | - | Retrieves application-level constant value (input directory path) for the definition file path |
| - | `JCCBatCommon.printDebugLog` | JCCBatCommon | - | Prints debug log entries |
| - | `JACbatCommon.printDebugLog` | JACBatCommon | - | Debug log utility call |
| - | `JACbatDebugLogUtil.printDebugLog` | JACbatDebugLog | - | Debug log utility call |
| - | `JCKLcsRenkeiUtil.printDebugLog` | JCKLcsRenkei | - | Debug log utility call |
| - | `JKKHttpCommunicator.printDebugLog` | JKKHttpCommunicator | - | Debug log utility call |
| - | `JBSbatACEoElectPrcInfoTrkm.isNullBlank` | JBSbatACEoElectPrcInfoTrkm | - | Null/blank check utility |
| - | `JBSbatACIcjknTrkmRsltHenshu.setOutFlg` | JBSbatACIcjknTrkmRsltHenshu | - | Sets the output flag on the output map |
| - | `JBSbatACTelnoGuideUseChrgInfoTrkmDataMake.setOutFlg` | JBSbatACTelnoGuideUseChrgInfoTrkmDataMake | - | Sets the output flag on the output map |
| - | `JBSbatACTrgtSvcKeiMake.isNullBlank` | JBSbatACTrgtSvcKeiMake | - | Null/blank check utility |
| - | `JKKBatClarisAuthCrdt.isNullBlank` | JKKBatClarisAuthCrdt | - | Null/blank check utility |
| - | `JCCbatMojiChgRuleCache.getMap` | JCCbatMojiChgRuleCache | - | Character conversion rule cache lookup |
| - | `JCCbatShoriIraiUtil.getShoriIraiInfo` | JCCbatShoriIrai | - | Processing request info retrieval |
| - | `JCCbatShoriIraiUtil.updateShoriIraiResult` | JCCbatShoriIrai | - | Processing request result update |
| - | `JDKEFileKanriBaseService.updateShoriIraiResult` | JDKEFileKanriBaseService | JDKEFileKanriBase | File management processing request result update |
| - | `JCCBatCommon.searchDenshiFile` | JCCBatCommon | - | Electronic file path search |
| - | `JCCBatCommon.createDenshiFile` | JCCBatCommon | - | Electronic file management record creation |

## 5. Dependency Trace

This method has no callers discovered in the codebase. It is a standalone batch service class that is invoked by the batch execution framework through the processing request management system (ShoriIrai infrastructure). The batch framework queries the processing request table for records with `TRN_KANRI_CP_IKT_ADD = "000000000027"` (the processing management number for this batch), retrieves the request parameters, and invokes this `execute()` method.

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch Framework | BatchScheduler -> ProcessingRequestManager -> JBSbatKKHnsokuCdIktTrkm.execute | KK_T_MSKM [C], KK_T_MSKM_DTL [C], KK_T_DCHSKMST [C], KK_T_DCHSKMST_TG_KEI [C], KK_T_PRG [C], KK_T_IDO_RSN [C], KK_T_SVKEI_EXC_CTRL [U/R], KK_T_SVC_KEI [R], KK_M_DCHSKM_TG_SVC [R], KK_M_DCHSKM [R], ZM_T_DL_FILE_KANRI [C] |

## 6. Per-Branch Detail Blocks

### Block 1 — GET Processing Requests (L677)

> Retrieves processing request information for the current job. If no requests exist, the batch ends.

| # | Type | Code |
|---|------|------|
| 1 | SET | `shoriIraiList = new ArrayList<HashMap<String, Object>>()` |
| 2 | CALL | `shoriIraiList = JCCbatShoriIraiUtil.getShoriIraiInfo(commonItem, this.jobid)` // Retrieves delayed transmission processing requests |
| 3 | IF | `shoriIraiList == null` [L680] |
| 3.1 | EXEC | `super.logPrint.printDebugLog("execute() end")` // Debug log output |
| 3.2 | RETURN | `return null` |

### Block 2 — Initialize Campaign Error Code Management (L688)

> Retrieves SP registration error codes and SP registration result codes from the code name management table.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `getCdNmKanri()` // Retrieves CD_SBT_CD_CP_ADD_ERR_CD and CD_SBT_CD_CP_ADD_RSLT_CD from ZM_M_CD_NM_KANRI |

### Block 3 — Setup Local Variables (L690–L714)

> Initializes working variables: output list, record counter, processing request number, error code holder, and error flag.

| # | Type | Code |
|---|------|------|
| 1 | SET | `outputInfoList = new ArrayList<JBSbatServiceInterfaceMap>()` // Output file information list |
| 2 | SET | `fileRecordCnt = 0` // Record file count |
| 3 | SET | `shoriIraiNo = ""` // Processing request number |
| 4 | SET | `cpAddErrCd = null` // Campaign registration error code (set when check error occurs) |
| 5 | SET | `checkErr = false` // Check error existence flag (used when outputting campaign registration result list) |

### Block 4 — Retrieve Processing Request Data and Input File (L716–L743)

> Gets the first processing request record, extracts the delayed transmission request number and file management number, searches for the input electronic file path, and logs debug information.

| # | Type | Code |
|---|------|------|
| 1 | SET | `resutlMap = shoriIraiList.get(0)` |
| 2 | SET | `cpIktAddDefName = JBSbatAplConst.getAplConstValue("IND") + "/" + "KKIFM071.def"` // Campaign bulk registration list file definition |
| 3 | SET | `cpIktAddFileReadObj = null` // Campaign bulk registration list reader |
| 4 | SET | `cpIktAddFileDef = null` // Campaign bulk registration list file definition |
| 5 | SET | `cpIktAddOneRowMap = null` |
| 6 | SET | `shoriIraiNo = (String)resutlMap.get(JBSbatCC_T_DLYD_TRN_REQ.DLYD_TRN_REQ_NO)` // Delayed transmission processing request number |
| 7 | SET | `fileKanriNo = (String)resutlMap.get(JBSbatCC_T_DLYD_TRN_REQ.INPUT_EFILE_KANRI_NO)` // Input electronic file management number |
| 8 | SET | `inFilePath = JCCBatCommon.searchDenshiFile(commonItem, fileKanriNo)` // Restore file from electronic file management (campaign bulk registration list) |
| 9 | EXEC | `super.logPrint.printDebugLog("処理日 ＝" + super.opeDate)` // Debug: processing date |
| 10 | EXEC | `super.logPrint.printDebugLog("ディレイド処理依頼番号 ＝" + shoriIraiNo)` // Debug: delayed transmission request number |
| 11 | EXEC | `super.logPrint.printDebugLog("入力電子ファイル管理番号＝" + fileKanriNo)` // Debug: input electronic file management number |
| 12 | EXEC | `super.logPrint.printDebugLog("キャンペーン一括登録リスト ＝" + inFilePath)` // Debug: campaign bulk registration list path |

### Block 5 — Open Input File (L745–L752)

> Creates the file reader and definition object, and initializes loop-local variables.

| # | Type | Code |
|---|------|------|
| 1 | SET | `cpIktAddFileReadObj = new JBSbatInputFileUtil(inFilePath)` // ReadFileOpen |
| 2 | SET | `cpIktAddFileDef = new JBSbatDefFileUtil(cpIktAddDefName, cpIktAddFileReadObj)` |
| 3 | SET | `cpIktAddOneRowMap = null` |
| 4 | EXEC | `cpIktAddFileReadObj.createReader()` // Generate reader object |
| 5 | SET | `recordMap = null` // Map to store one record's information |
| 6 | SET | `line = null` // One record's information |
| 7 | SET | `mskmNo = ""` // Submission number (for skiema registration) |
| 8 | SET | `mskmDtlNo = ""` // Submission detail number |
| 9 | SET | `dchskmstNo = ""` // Data extraction item setting number |
| 10 | SET | `geneAddDtm = ""` // Generation/addition date-time (data extraction item setting / data extraction item setting target contract) |
| 11 | SET | `idoDtm = ""` // Exception date-time |

### Block 6 — Main Record Reading Loop (L753–L1014)

> Iterates over every line of the input campaign registration list file. For each record, performs multi-level validation and either writes to error output or inserts into the database.

#### Block 6.1 — Loop Setup (L755–L765)

> Resets error code, reads one line, increments record count, and converts line to map.

| # | Type | Code |
|---|------|------|
| 1 | SET | `cpAddErrCd = null` // Campaign registration error code initialization (no error) |
| 2 | SET | `line = cpIktAddFileReadObj.readLine()` // Get one record from file |
| 3 | SET | `fileRecordCnt++` // Record file count increment |
| 4 | SET | `recordMap = convNonQuateStringToList(line)` // Convert line from string to map |
| 5 | SET | `cpIktAddOneRowMap = cpIktAddFileDef.lineToObject(line, cpIktAddFileReadObj, fileRecordCnt)` // Store one record's info in map |

#### Block 6.2 — Error Code E010: Record Item Count Mismatch (L766–L775)

> If the record's item count does not match the expected definition (wrong number of columns), sets error E010 and writes to error output.

| # | Type | Code |
|---|------|------|
| 1 | IF | `cpIktAddOneRowMap.isInputErrorFlg()` [レコードの項目数が異なる] (L766) |
| 1.1 | SET | `cpAddErrCd = E010` [E010="E010"] // Record item count mismatch |
| 1.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 1.3 | SET | `checkErr = true` |
| 1.4 | EXEC | `continue next` |

#### Block 6.3 — Error Code E010–E050: File Format Check (L777–L787)

> Performs file format validation: mandatory field, attribute, and column count checks via `isSingleCheckKKIFM071_INF1`. If errors are found, writes to error output.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `cpAddErrCd = isSingleCheckKKIFM071_INF1(cpIktAddOneRowMap.getMap())` // ファイルフォーマットチェック（必須・属性・桁数チェック） |
| 2 | IF | `!JKKStringUtil.isNullBlank(cpAddErrCd)` [check error found] (L781) |
| 2.1 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` // レコードチェックでエラーが存在 |
| 2.2 | SET | `checkErr = true` |
| 2.3 | EXEC | `continue next` |

#### Block 6.4 — Error Code E060: Service Contract Number Does Not Exist (L789–L801)

> Queries the service contract table by SVC_KEI_NO. If no matching record is found, sets error E060.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcKeiInfo = getSvcKeiInfo(cpIktAddOneRowMap.getString(JBSbatKKIFM071.SVC_KEI_NO))` // For service contract existence check, search service contract by service contract number |
| 2 | IF | `svcKeiInfo == null` [サービス契約番号が存在しない] (L792) |
| 2.1 | SET | `cpAddErrCd = E060` [E060="E060"] |
| 2.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 2.3 | SET | `checkErr = true` |
| 2.4 | EXEC | `continue next` |

#### Block 6.5 — Error Code E081: Service Contract Terminated (L803–L812)

> Checks if the service contract status is "910" (Terminated). If so, sets error E081.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svcKeiStat = svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)` |
| 2 | IF | `JKKBatConst.CD_SBT_SVC_KEI_STAT_910.equals(svcKeiStat)` [CD_SBT_SVC_KEI_STAT_910 = "910" (契約解除済: terminated)] (L805) |
| 2.1 | SET | `cpAddErrCd = E081` [E081="E081"] |
| 2.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 2.3 | SET | `checkErr = true` |
| 2.4 | EXEC | `continue next` |

#### Block 6.6 — Error Code E082: Service Contract Cancelled (L814–L824)

> Checks if the service contract status is "920" (Cancelled). If so, sets error E082.

| # | Type | Code |
|---|------|------|
| 1 | ELSE_IF | `JKKBatConst.CD_SBT_SVC_KEI_STAT_920.equals(svcKeiStat)` [CD_SBT_SVC_KEI_STAT_920 = "920" (キャンセル済: cancelled)] (L814) |
| 1.1 | SET | `cpAddErrCd = E082` [E082="E082"] |
| 1.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 1.3 | SET | `checkErr = true` |
| 1.4 | EXEC | `continue next` |

#### Block 6.7 — Error Code E200: Data Extraction Item Code Not Found (L826–L837)

> Retrieves data extraction item target services by DSP_DCHSKM_CD. If the list is empty, the data extraction item code does not exist in the configuration. Sets error E200.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dchskmTgSvcList = getDchskmTgSvc(cpIktAddOneRowMap.getString(JBSbatKKIFM071.DSP_DCHSKM_CD))` // Retrieve campaign info to get data extraction item items and data extraction item target services |
| 2 | IF | `dchskmTgSvcList.size() == 0` [キャンペーンコードがデータ抽出項目に存在しない] (L828) |
| 2.1 | SET | `cpAddErrCd = E200` [E200="E200"] |
| 2.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 2.3 | SET | `checkErr = true` |
| 2.4 | EXEC | `continue next` |

#### Block 6.8 — Error Code E070: Data Extraction Item Target Service Not Matched (L839–L916)

> Iterates through the data extraction item target service list and attempts to match the service contract's pricing hierarchy (price plan -> price code -> price group -> service code). Four-tier fallback matching. If no match is found after iterating all items, sets error E070.

| # | Type | Code |
|---|------|------|
| 1 | SET | `dchskmTgSvcInfo = null` |
| 2 | FOR | `i = 0; i < dchskmTgSvcList.size(); i++` (L842) |
| 2.1 | SET | `dbMap = dchskmTgSvcList.get(i)` |
| 2.2 | IF | `svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD).equals(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PPLAN_CD))` [料金プランが一致: price plan matches] (L844) |
| 2.2.1 | SET | `dchskmTgSvcInfo = dbMap` |
| 2.2.2 | EXEC | `break` |
| 2.3 | ELSE_IF | `svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.PCRS_CD).equals(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PCRS_CD)) && JKKStringUtil.isNullBlank(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PPLAN_CD))` [料金コードが一致（料金プランが未設定: price code matches, price plan unset] (L849) |
| 2.3.1 | SET | `dchskmTgSvcInfo = dbMap` |
| 2.3.2 | EXEC | `break` |
| 2.4 | ELSE_IF | `svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD).equals(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PRC_GRP_CD)) && JKKStringUtil.isNullBlank(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PPLAN_CD)) && JKKStringUtil.isNullBlank(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PCRS_CD))` [料金グループが一致（料金プラン・料金コードが未設定: price group matches, both price plan and price code unset] (L855) |
| 2.4.1 | SET | `dchskmTgSvcInfo = dbMap` |
| 2.4.2 | EXEC | `break` |
| 2.5 | ELSE_IF | `svcKeiInfo.getString(JBSbatKK_T_SVC_KEI.SVC_CD).equals(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.SVC_CD)) && JKKStringUtil.isNullBlank(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PPLAN_CD)) && JKKStringUtil.isNullBlank(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PCRS_CD)) && JKKStringUtil.isNullBlank(dbMap.getString(JBSbatKK_M_DCHSKM_TG_SVC.PRC_GRP_CD))` [サービスが一致（料金プラン・料金コード・料金グループが未設定: service code matches, all pricing unset] (L862) |
| 2.5.1 | SET | `dchskmTgSvcInfo = dbMap` |
| 2.5.2 | EXEC | `break` |
| 3 | IF | `dchskmTgSvcInfo == null` [サービス契約のサービス～料金プランと一致するデータ抽出項目対象サービスコードが存在しない: no matching data extraction item target service code exists for the service contract's service to price plan] (L871) |
| 3.1 | SET | `cpAddErrCd = E070` [E070="E070"] |
| 3.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 3.3 | SET | `checkErr = true` |
| 3.4 | EXEC | `continue next` |

#### Block 6.9 — Error Code E090: Duplicate Campaign Registration (L878–L899)

> Queries existing data extraction item settings by SVC_KEI_NO and DCHSKM_CD. Iterates through results and checks if any record has status "010" (Registered). If so, the same data extraction item code with "Registered" status already exists. Sets error E090.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `dchskmstList = getDchskmstInfo(cpIktAddOneRowMap.getString(JBSbatKKIFM071.SVC_KEI_NO), dchskmTgSvcInfo.getString(JBSbatKK_M_DCHSKM_TG_SVC.DCHSKM_CD))` // For existing data check, search data extraction item settings and data extraction item target contract by service contract number and data extraction item code |
| 2 | FOR | `i = 0; i < dchskmstList.size(); i++` (L881) |
| 2.1 | SET | `dchskmstStat = dchskmstList.get(i).getString(JBSbatKK_T_DCHSKMST.DCHSKMST_STAT)` |
| 2.2 | IF | `JKKBatConst.DCHSKMST_STAT_010.equals(dchskmstStat)` [DCHSKMST_STAT_010 = "010" (登録済: registered)] (L883) |
| 2.2.1 | SET | `cpAddErrCd = E090` [E090="E090"] |
| 2.2.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 2.2.3 | SET | `checkErr = true` |
| 2.2.4 | EXEC | `continue next` |

#### Block 6.10 — Error Code E220: Referral Campaign (L903–L913)

> Checks if the data extraction item code corresponds to a referral campaign. Referral campaigns are excluded from this bulk registration path. Sets error E220.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `shokaiCp = isShokaiCampaign(dchskmTgSvcInfo.getString(JBSbatKK_M_DCHSKM_TG_SVC.DCHSKM_CD))` // For referral agent target referral campaign, check whether it is a referral campaign by data extraction item code |
| 2 | IF | `shokaiCp == true` [紹介者向け紹介キャンペーン: referral agent target referral campaign] (L906) |
| 2.1 | SET | `cpAddErrCd = E220` [E220="E220"] |
| 2.2 | CALL | `outputInfoList.add(fileWrite(recordMap, cpAddErrCd))` |
| 2.3 | SET | `checkErr = true` |
| 2.4 | EXEC | `continue next` |

#### Block 6.11 — Valid Record: Insert Campaign Data (L916–L992)

> If no errors were detected, writes a valid output record, acquires sequence numbers, locks the service contract, inserts six entities atomically, updates the exclusion control, and commits.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `outputInfoList.add(fileWrite(recordMap, null))` // Not judged as error by above checks, proceed with file output |
| 2 | CALL | `executeKK_T_SVKEI_EXC_CTRL_KK_SELECT_001(new Object[]{cpIktAddOneRowMap.getString(JBSbatKKIFM071.SVC_KEI_NO)})` // Lock service contract — pessimistic lock before updating exclusion control |
| 3 | SET | `mskmNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_MSKM_NO, "", 12)` // Submission number (SEQ_MSKM_NO, 12 digits) |
| 4 | SET | `mskmDtlNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_MSKM_DTL_NO, "", 12)` // Submission detail number (SEQ_MSKM_DTL_NO, 12 digits) |
| 5 | SET | `dchskmstNo = JCCBatCommon.getFormatedNextSeq(super.commonItem, SEQ_DCHSKMST_NO, "", 12)` // Data extraction item setting number (SEQ_DCHSKMST_NO, 12 digits) |
| 6 | SET | `geneAddDtm = JCCBatCommon.getSysDateTimeStamp()` // Generation/addition date-time (データ登録年月日: data registration date-time) |
| 7 | SET | `idoDtm = JCCBatCommon.getSysDateTimeStamp()` // Exception date-time (異動年月日: movement date-time) |
| 8 | CALL | `executeKK_T_MSKM_PKINSERT(setMskmParam(svcKeiInfo, mskmNo))` // Insert: Campaign master (submit) |
| 9 | CALL | `insertMskmDtl(svcKeiInfo, mskmNo, mskmDtlNo)` // Insert: Submission detail (submit details) |
| 10 | CALL | `executeKK_T_DCHSKMST_PKINSERT(setDchskmstParam(cpIktAddOneRowMap, dchskmTgSvcInfo, svcKeiInfo, dchskmstNo, mskmDtlNo, geneAddDtm))` // Insert: Data extraction item setting (data extraction item settings) |
| 11 | CALL | `executeKK_T_DCHSKMST_TG_KEI_PKINSERT(setDchskmstTgKeiParam(svcKeiInfo, dchskmTgSvcInfo, dchskmstNo, geneAddDtm))` // Insert: Data extraction item setting target contract (data extraction item setting target contract) |
| 12 | CALL | `executeKK_T_PRG_PKINSERT(setPrgParam(cpIktAddOneRowMap, svcKeiInfo, mskmDtlNo, idoDtm))` // Insert: Progress detail (progress) |
| 13 | CALL | `executeKK_T_IDO_RSN_PKINSERT(setIdoRsnParam(svcKeiInfo, idoDtm))` // Insert: Reason for exception (exception reason) |
| 14 | SET | `svcExcCtrlUpd = new Object[]{cpIktAddOneRowMap.getString(JBSbatKKIFM071.SVC_KEI_NO), JBSbatInterface.getSystemDateTimeStamp()}` |
| 15 | CALL | `executeKK_T_SVKEI_EXC_CTRL_KK_UPDATE_002(svcExcCtrlUpd)` // Update: Service contract exclusion control last update date-time |
| 16 | CALL | `super.commit()` // Commit |

### Block 7 — Post-Loop: Write Output File and Update Processing Result (L1014–L1042)

> After reading all records, if output list is not empty, creates the result file and updates the processing request status.

#### Block 7.1 — Output File Generation (L1014–L1030)

> If the output list contains records, builds the output file, writes campaign registration result list to the file, and logs the file path.

| # | Type | Code |
|---|------|------|
| 1 | IF | `!JKKStringUtil.isNullEmpty(outputInfoList)` [outputInfoList not empty] (L1014) |
| 1.1 | SET | `outMidFile = freeItem.split(JKKBatConst.S_PARAM_DELIM)` // Obtain output file info from free item fields |
| 1.2 | SET | `outputBean = new JBSbatOutputItem()` |
| 1.3 | FOR | `for (JBSbatServiceInterfaceMap outMap : outputInfoList)` |
| 1.3.1 | CALL | `outMap.setOutFlg(true)` |
| 1.3.2 | CALL | `outputBean.addOutMapList(outMap)` |
| 1.4 | CALL | `JKKBatOutputUtil.editOutFile(super.commonItem, outputBean, outMidFile[3], outMidFile[0], outMidFile[1])` // Write campaign registration result list to file |
| 1.5 | SET | `filePath = outMidFile[0] + outMidFile[1]` |
| 1.6 | EXEC | `super.logPrint.printDebugLog("キャンペーン一括登録結果リスト ＝" + filePath)` |

#### Block 7.2 — Error Case: Processing Request Update with Errors (L1031–L1040)

> If check errors existed, update processing request result code to "2" (business error) and register the error file to the download file management table.

| # | Type | Code |
|---|------|------|
| 2 | IF | `checkErr == true` [チェックエラーあり: check errors present] (L1031) |
| 2.1 | SET | `retMap = JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, "2", filePath)` // Update delayed processing request result code to "business error" |
| 2.2 | SET | `eFileKanriNo = retMap.get("EFILE_KAMRI_NO")` |
| 2.3 | IF | `!JKKStringUtil.isNullBlank(eFileKanriNo)` [error file's electronic file management number obtained, register to download file management] (L1036) |
| 2.3.1 | CALL | `insertZM_T_DL_FILE_KANRI(eFileKanriNo, outMidFile[2], filePath, fileRecordCnt)` |

#### Block 7.3 — Success Case: Processing Request Update Without Errors (L1041–L1052)

> If no check errors, update processing request result code to "1" (complete), create an electronic file management record, and register it to the download file management table.

| # | Type | Code |
|---|------|------|
| 3 | ELSE | [チェックエラーなし: no check errors] (L1041) |
| 3.1 | CALL | `JCCbatShoriIraiUtil.updateShoriIraiResult(commonItem, shoriIraiNo, "1", null)` // Update delayed processing request result code to "complete" |
| 3.2 | SET | `denshiRet = JCCBatCommon.createDenshiFile(super.commonItem, "0000", filePath, null)` // Set campaign registration result list as electronic file management schema |
| 3.3 | CALL | `insertZM_T_DL_FILE_KANRI(denshiRet[0], outMidFile[2], filePath, fileRecordCnt)` // Register to download file management |

#### Block 7.4 — Return (L1053)

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return null` |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `SVC_KEI_NO` | Field | Service contract number — unique identifier for a service contract line item |
| `SVC_KEI_STAT` | Field | Service contract status — indicates the lifecycle state of a service contract (010=Received, 020=Processing, 030=Complete, 100=In Progress, 210=Preparation, 220=Ready, 910=Terminated, 920=Cancelled) |
| `PPLAN_CD` | Field | Price plan code — tariff plan classification for the service contract |
| `PCRS_CD` | Field | Price code code — specific pricing code for the service contract |
| `PRC_GRP_CD` | Field | Price group code — grouped pricing classification for the service contract |
| `SVC_CD` | Field | Service code — identifies the type of service (e.g., FTTH, Mail, ENUM) |
| `DSP_DCHSKM_CD` | Field | Data extraction item code — code defining what data fields are extracted for campaign processing |
| `DCHSKMST_STAT` | Field | Data extraction item setting status — "010" means already registered, used for duplicate prevention |
| `DLYD_TRN_REQ_NO` | Field | Delayed transmission request number — internal tracking ID for delayed processing requests |
| `INPUT_EFILE_KANRI_NO` | Field | Input electronic file management number — identifier for the input electronic file in the file management table |
| `mskmNo` | Field | Submission number — unique sequence number for the campaign master record |
| `mskmDtlNo` | Field | Submission detail number — unique sequence number for the campaign detail record |
| `dchskmstNo` | Field | Data extraction item setting number — unique sequence number for the data extraction item setting record |
| `geneAddDtm` | Field | Generation/addition date-time — timestamp when data extraction item settings were registered |
| `idoDtm` | Field | Exception date-time — timestamp of the exception/movement recorded in the reason for exception table |
| `checkErr` | Field | Check error existence flag — true if any record in the batch had validation errors |
| `cpAddErrCd` | Field | Campaign registration error code — holds the current error code for the record being processed |
| `spAddRsltCd` | Field | Campaign registration result code — "0" for normal, "1" for check error |
| KK_T_SVC_KEI | Table | Service Contract table — stores service contract master data including status, pricing, and service codes |
| KK_T_DCHSKMST | Table | Data Extraction Item Setting table — stores registered data extraction item settings linked to service contracts |
| KK_T_DCHSKMST_TG_KEI | Table | Data Extraction Item Setting Target Contract table — links data extraction item settings to target service contracts |
| KK_T_MSKM | Table | Campaign Master table — stores campaign registration master records (submission numbers, service contract numbers) |
| KK_T_MSKM_DTL | Table | Campaign Detail table — stores campaign detail records (detail numbers, references to master and settings) |
| KK_T_PRG | Table | Progress Detail table — stores progress detail records (progress numbers, output template references) |
| KK_T_IDO_RSN | Table | Reason for Exception table — stores exception reasons (exception reasons, status change details) |
| KK_T_SVKEI_EXC_CTRL | Table | Service Contract Exclusion Control table — tracks locked service contracts during processing to prevent concurrent modification |
| KK_M_DCHSKM_TG_SVC | Table | Data Extraction Item Target Service table — defines the mapping between data extraction item codes and target services with pricing hierarchy |
| KK_M_DCHSKM | Table | Data Extraction Item table — master table for data extraction item definitions (used for referral campaign check) |
| ZM_T_DL_FILE_KANRI | Table | Download File Management table — stores output file registration records (electronic file management number, file path, record count) |
| ZM_M_CD_NM_KANRI | Table | Code Name Management table — stores human-readable names for error codes and result codes |
| CC_T_EFILE_KANRI | Table | Electronic File Management table — stores electronic file management records with file paths |
| SP | Acronym | Service Provider — in this context, "SP registration" refers to sales promotion code registration |
| FTTH | Business term | Fiber To The Home — fiber-optic broadband internet service |
| キャンペーン | Japanese term | Campaign — a sales promotion or marketing campaign associated with a service contract |
| 一括登録 | Japanese term | Bulk registration — batch registration of multiple records at once, as opposed to individual transactional registration |
| データ抽出項目 | Japanese term | Data extraction item — a configured set of data fields to be extracted/processed for a campaign |
| 紹介キャンペーン | Japanese term | Referral campaign — a campaign targeting customers referred by existing customers; excluded from this bulk registration path |
| 解約済 | Japanese term | Terminated — service contract status indicating the contract has been terminated (status code "910") |
| キャンセル済 | Japanese term | Cancelled — service contract status indicating the contract has been cancelled (status code "920") |
| 登録済 | Japanese term | Registered — data extraction item setting status indicating the setting is already active (status code "010") |
| 販売促進コード | Japanese term | Sales promotion code — the campaign/SP code used for sales promotion activities |
| ディレイド処理 | Japanese term | Delayed transmission processing — batch processing deferred to a later execution time |
| 処理依頼 | Japanese term | Processing request — a record in the processing request management table that triggers batch job execution |
| 電子ファイル | Japanese term | Electronic file — a digitally managed file stored in the electronic file management system |
| シーケンス | Japanese term | Sequence — auto-incrementing number generator used to assign unique IDs to records |
