# Append script for sections 3-7
path = '.codewiki/dd/FUW00927SFBean/storeModelData.md'
S = []
def w(line=''):
    S.append(line)

# ============================================================
# SECTION 3: PARAMETER ANALYSIS
# ============================================================
w('## 3. Parameter Analysis')
w()
w('| No | Parameter Name | Type | Business Description |')
w('|----|---------------|------|---------------------|')
w('| 1 | `key` | `String` | Business field identifier - specifies which UI field or list item to update. Can be a simple field name (e.g., "\\u6a5f\\u80fd\\u30b3\\u30fc\\u30c9"), a slash-delimited hierarchical path (e.g., "\\u6708\\u984d\\u6599\\u91d1\\u9805\\u76ee/0"), or a common info prefix ("//..."). Determines which routing branch the method takes. |')
w('| 2 | `subkey` | `String` | Sub-identifier within the key - typically "value" (to set data), "state" (to set field state/visibility), or "enable" (to set field enabled/disabled status). Used to distinguish between data value setters and metadata setters. Can be null (normalized to empty string). |')
w('| 3 | `in_value` | `Object` | The actual data to store - cast to the appropriate type per field category. For String fields, cast to `String`. For Boolean fields (\\u5951\\u7d04\\u4e2d\\u30b5\\u30fc\\u30d3\\u30b9\\u30a8\\u30ea\\u30a2\\u8868\\u793a\\u30d5\\u30e9\\u30b3\\u30fc\\u30c9), cast to `Boolean`. For list fields, passed to the child bean\\'s `storeModelData`. |')
w('| 4 | `isSetAsString` | `boolean` | When true, indicates that a String value should be set into a Long type field\\'s Value property. This flag is passed through to `storeCommonInfoData` for common info fields. Has no effect on simple setters or list-based fields in this method (they always cast to their native types). |')
w()
w('### Instance Fields Read')
w()
w('| Field | Type | Usage |')
w('|-------|------|-------|')
w('| `koumoku_code_list` | `ArrayList` | List of Item Code beans - accessed by index for repeating item codes |')
w('| `koumoku_value_list` | `ArrayList` | List of Value beans - accessed by index for repeating values |')
w('| `getsu_ryokin_kmk_list` | `ArrayList` | List of Monthly Fee Items beans - accessed by index for repeating monthly fee line items |')
w('| `getsu_ryokin_list` | `ArrayList` | List of Monthly Fee beans - accessed by index for repeating monthly fee amounts |')
w('| `shoki_hiyo_kmk_list` | `ArrayList` | List of Initial Fee Items beans - accessed by index for repeating initial fee line items |')
w('| `shoki_hiyo_list` | `ArrayList` | List of Initial Fee beans - accessed by index for repeating initial fee amounts |')
w('| `getsu_ryokin_kei_list` | `ArrayList` | List of Monthly Fee Total beans - accessed by index for repeating monthly fee total line items |')
w('| `getsu_ryokin_kei_zei_list` | `ArrayList` | List of Monthly Fee Total (tax excl.) beans - accessed by index for repeating monthly fee total (tax excl.) line items |')
w('| `getsu_ryokin_kmk_sml_list` | `ArrayList` | List of Monthly Fee Items (Smart Link) beans - accessed by index for repeating smart link monthly fee line items |')
w('| `getsu_ryokin_sml_list` | `ArrayList` | List of Monthly Fee (Smart Link) beans - accessed by index for repeating smart link monthly fee amounts |')
w('| `shoki_hiyo_kmk_sml_list` | `ArrayList` | List of Initial Fee Items (Smart Link) beans - accessed by index for repeating smart link initial fee line items |')
w('| `shoki_hiyo_sml_list` | `ArrayList` | List of Initial Fee (Smart Link) beans - accessed by index for repeating smart link initial fee amounts |')
w('| `gtgk_wrib_mngn_tk_kikan_list` | `ArrayList` | List of Monthly Fee Discount Statement Valid Period beans - accessed by index for repeating discount period line items |')
w('| `gtgk_wrib_mngn_wrib_nm_list` | `ArrayList` | List of Monthly Fee Discount Statement Discount Name beans - accessed by index for repeating discount name line items |')
w('| `gtgk_wrib_mngn_wrib_amnt_list` | `ArrayList` | List of Monthly Fee Discount Statement Discount Amount beans - accessed by index for repeating discount amount line items |')
w('| `gtgk_wrib_mngn_biko_list` | `ArrayList` | List of Monthly Fee Discount Statement Remarks beans - accessed by index for repeating discount remark line items |')
w('| `getsu_ryokin_kei_title_list` | `ArrayList` | List of Monthly Fee Display Items beans - accessed by index for repeating display item line items |')
w('| `getsu_ryokin_kmk_gh_list` | `ArrayList` | List of Monthly Fee Items (NH) beans - accessed by index for repeating NH monthly fee line items |')
w('| `getsu_ryokin_gh_list` | `ArrayList` | List of Monthly Fee (NH) beans - accessed by index for repeating NH monthly fee amounts |')
w('| `shoki_hiyo_kmk_gh_list` | `ArrayList` | List of Initial Fee Items (NH) beans - accessed by index for repeating NH initial fee line items |')
w('| `shoki_hiyo_gh_list` | `ArrayList` | List of Initial Fee (NH) beans - accessed by index for repeating NH initial fee amounts |')
w()
w('### Instance Fields Written (via setters)')
w()
w('| Setter Prefix | Business Field | Data Type |')
w('|--------------|----------------|-----------|')
w('| `fnc_mode` | Function Code | String |')
w('| `screen_mode` | Screen Mode | String |')
w('| `shoki_hiyo_kei` | Initial Fee Total | String |')
w('| `shoki_hiyo_kei_zei` | Initial Fee Total (tax excl.) | String |')
w('| `mobile_month` | Mobile Monthly Fee Total | String |')
w('| `mobile_init` | Mobile Initial Fee Total | String |')
w('| `getsu_ryokin_mongon` | Monthly Fee Statement | String |')
w('| `shoki_hiyo_mongon` | Initial Fee Statement | String |')
w('| `mobile_month_mongon` | Mobile Monthly Fee Statement | String |')
w('| `mobile_init_mongon` | Mobile Initial Fee Statement | String |')
w('| `gtgk_prc_gokei` | Total with Tax | String |')
w('| `gtgk_prc_gokei_zei` | Total with Tax (tax excl.) | String |')
w('| `shkh_gokei` | Initial Fee Total (grand) | String |')
w('| `shkh_gokei_zei` | Initial Fee Total (grand, tax excl.) | String |')
w('| `gtgk_prc_gokei_mongon` | Total Statement | String |')
w('| `shkh_gokei_mongon` | Initial Fee Total Statement | String |')
w('| `kei_sbt` | Contract Type | String |')
w('| `sex` | Customer Info (Individual) - Gender | String |')
w('| `hnin_cfm_aticle` | ID Proof Document | String |')
w('| `setplace_form` | Installation Location - Form | String |')
w('| `setplace_flr` | Installation Location - Floor | String |')
w('| `setplace_bnchi` | Installation Location - Address | String |')
w('| `use_net_ksn` | Installation Location - Active Network | String |')
w('| `kiki_place_chg` | Installation Location - Equipment Change | String |')
w('| `tkc_koji_same` | Installation Location - Same-Day Work | String |')
w('| `rrks_choice` | Contact Preference | String |')
w('| `fax_kibo` | FAX Connection Request | String |')
w('| `dsp_same_use_place_kkoku_flg` | Same Place Warning Flag | String |')
w('| `dsp_pcd_flg` | Postal Code Display Flag | String |')
w('| `dsp_close_btn_flg` | Close Button Display Flag | String |')
w('| `dsp_add_btn_flg` | Register and Next Button Flag | String |')
w('| `dsp_next_btn_flg` | Next Button Display Flag | String |')
w('| `twryo_stiam_ttu_tchi_stiam` | Call Charge Limit Notification | String |')
w('| `kei_svc_area_dsp_flg` | Contract Service Area Display Flag | Boolean (value) / String (state) |')
w('| `cx_start_flg` | CX Project Start Flag | String |')
w('| `takcho_apo_kaden_kibo_um_disp_flg` | Home Survey Installation Preference - Display Flag | String |')
w('| `takcho_apo_kaden_kibo_um_screen` | Home Survey Installation Preference | String (value) / Boolean (enabled) / String (state) |')
w('| `getsu_ryokin_kei_sml` | Monthly Fee Total (Smart Link) | String |')
w('| `getsu_ryokin_kei_sml_zei` | Monthly Fee Total (Smart Link) (tax excl.) | String |')
w('| `shoki_hiyo_kei_sml` | Initial Fee Total (Smart Link) | String |')
w('| `shoki_hiyo_kei_sml_zei` | Initial Fee Total (Smart Link) (tax excl.) | String |')
w('| `getsu_ryokin_mongon_sml` | Monthly Fee Statement (Smart Link) | String |')
w('| `shoki_hiyo_mongon_sml` | Initial Fee Statement (Smart Link) | String |')
w('| `gtgk_prc_gokei_sml` | Total (Smart Link) | String |')
w('| `gtgk_prc_gokei_sml_zei` | Total (Smart Link) (tax excl.) | String |')
w('| `shkh_gokei_sml` | Initial Fee Total (Smart Link) | String |')
w('| `shkh_gokei_sml_zei` | Initial Fee Total (Smart Link) (tax excl.) | String |')
w('| `gtgk_prc_gokei_mongon_sml` | Total Statement (Smart Link) | String |')
w('| `shkh_gokei_mongon_sml` | Initial Fee Total Statement (Smart Link) | String |')
w('| `getsu_ryokin_kei_gh` | Monthly Fee Total (NH) | String |')
w('| `getsu_ryokin_kei_gh_zei` | Monthly Fee Total (NH) (tax excl.) | String |')
w('| `shoki_hiyo_kei_gh` | Initial Fee Total (NH) | String |')
w('| `shoki_hiyo_kei_gh_zei` | Initial Fee Total (NH) (tax excl.) | String |')
w('| `getsu_ryokin_mongon_gh` | Monthly Fee Statement (NH) | String |')
w('| `shoki_hiyo_mongon_gh` | Initial Fee Statement (NH) | String |')
w('| `gtgk_prc_gokei_gh` | Total (NH) | String |')
w('| `gtgk_prc_gokei_gh_zei` | Total (NH) (tax excl.) | String |')
w('| `shkh_gokei_gh` | Initial Fee Total (NH) | String |')
w('| `shkh_gokei_gh_zei` | Initial Fee Total (NH) (tax excl.) | String |')
w('| `gtgk_prc_gokei_mongon_gh` | Total Statement (NH) | String |')
w('| `shkh_gokei_mongon_gh` | Initial Fee Total Statement (NH) | String |')
w()

# ============================================================
# SECTION 4: CRUD OPERATIONS
# ============================================================
w('## 4. CRUD Operations / Called Services')
w()
w('### Method Call Classification')
w()
w('This method does not perform any direct database CRUD operations. Instead, it routes data to field setters and delegates to list item beans\\'s `storeModelData` methods. All operations are **U** (Update) at the presentation layer level.')
w()
w('| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |')
w('|------|----------|---------|-------------|----------------------|')
w('| U | JKKAdEditCC.substring | - | - | Calls substring utility in JKKAdEditCC |')
w('| U | JKKAdEdit.substring | - | - | Calls substring utility in JKKAdEdit |')
w('| U | JKKTelnoInfoAddMapperCC.substring | - | - | Calls substring utility in JKKTelnoInfoAddMapperCC |')
w('| U | JDKejbStringEdit.substring | - | - | Calls substring utility in JDKejbStringEdit |')
w('| U | FUW00927SFBean.setCx_start_flg_state | - | - | Sets CX project start flag state |')
w('| U | FUW00927SFBean.setCx_start_flg_value | - | - | Sets CX project start flag value |')
w('| U | FUW00927SFBean.setDsp_add_btn_flg_state | - | - | Sets Register and Next button display flag state |')
w('| U | FUW00927SFBean.setDsp_add_btn_flg_value | - | - | Sets Register and Next button display flag value |')
w('| U | FUW00927SFBean.setDsp_close_btn_flg_state | - | - | Sets Close button display flag state |')
w('| U | FUW00927SFBean.setDsp_close_btn_flg_value | - | - | Sets Close button display flag value |')
w('| U | FUW00927SFBean.setDsp_next_btn_flg_state | - | - | Sets Next button display flag state |')
w('| U | FUW00927SFBean.setDsp_next_btn_flg_value | - | - | Sets Next button display flag value |')
w('| U | FUW00927SFBean.setDsp_pcd_flg_state | - | - | Sets Postal code display flag state |')
w('| U | FUW00927SFBean.setDsp_pcd_flg_value | - | - | Sets Postal code display flag value |')
w('| U | FUW00927SFBean.setDsp_same_use_place_kkoku_flg_state | - | - | Sets same place warning flag state |')
w('| U | FUW00927SFBean.setDsp_same_use_place_kkoku_flg_value | - | - | Sets same place warning flag value |')
w('| U | FUW00927SFBean.setFax_kibo_state | - | - | Sets FAX connection request state |')
w('| U | FUW00927SFBean.setFax_kibo_value | - | - | Sets FAX connection request value |')
w('| U | FUW00927SFBean.setFnc_mode_state | - | - | Sets function code state |')
w('| U | FUW00927SFBean.setFnc_mode_value | - | - | Sets function code value |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_gh_state | - | - | Sets monthly fee total (NH) state |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_gh_value | - | - | Sets monthly fee total (NH) value |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_gh_zei_state | - | - | Sets monthly fee total (NH) tax excl. state |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_gh_zei_value | - | - | Sets monthly fee total (NH) tax excl. value |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_sml_state | - | - | Sets monthly fee total (Smart Link) state |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_sml_value | - | - | Sets monthly fee total (Smart Link) value |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_sml_zei_state | - | - | Sets monthly fee total (Smart Link) tax excl. state |')
w('| U | FUW00927SFBean.setGetsu_ryokin_kei_sml_zei_value | - | - | Sets monthly fee total (Smart Link) tax excl. value |')
w('| U | FUW00927SFBean.setGetsu_ryokin_mongon_gh_state | - | - | Sets monthly fee statement (NH) state |')
w('| U | FUW00927SFBean.setGetsu_ryokin_mongon_gh_value | - | - | Sets monthly fee statement (NH) value |')
w('| U | super.storeCommonInfoData | - | - | Delegates common info data to parent class |')
w('| U | X33VDataTypeStringBean.storeModelData | - | - | Delegates to list item storeModelData (recurring across all list fields) |')
w()
w('### Notes')
w()
w('- No SC Codes or database entities are directly accessed by this method. It operates entirely at the presentation/webview layer.')
w('- The `super.storeCommonInfoData` call delegates to a parent class method which may perform additional processing.')
w('- List item delegation calls `X33VDataTypeStringBean.storeModelData(subkey, in_value)` which may invoke deeper-level setters on individual bean instances.')
w()

# ============================================================
# SECTION 5: DEPENDENCY TRACE
# ============================================================
w('## 5. Dependency Trace')
w()
w('### Caller Analysis')
w()
w('The pre-computed evidence shows that direct callers of this method are other overloads of `storeModelData` within `FUW00927SFBean`:')
w()
w('| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |')
w('|---|----------------------|--------------------------------------|-------------------------------|')
w('| 1 | FUW00927SFBean (overload: gamenId, key, subkey, in_value) | storeModelData(gamenId, key, subkey, in_value) -> storeModelData(key, subkey, in_value) -> storeModelData(key, subkey, in_value, false) -> storeModelData(key, subkey, in_value, isSetAsString) | substring [-], setTakcho_apo_kaden_kibo_um_screen_state [-], setTakcho_apo_kaden_kibo_um_screen_enabled [-], setTakcho_apo_kaden_kibo_um_screen_value [-], setTakcho_apo_kaden_kibo_um_disp_flg_state [-], setTakcho_apo_kaden_kibo_um_disp_flg_value [-], setCx_start_flg_state [-], setCx_start_flg_value [-], setKei_svc_area_dsp_flg_state [-], setKei_svc_area_dsp_flg_value [-], setShkh_gokei_mongon_gh_state [-], setShkh_gokei_mongon_gh_value [-], setGtgk_prc_gokei_mongon_gh_state [-], setGtgk_prc_gokei_mongon_gh_value [-], setShkh_gokei_zei_state [-], setShkh_gokei_zei_value [-], setShkh_gokei_gh_state [-], setShkh_gokei_gh_value [-], setGtgk_prc_gokei_gh_zei_state [-], setGtgk_prc_gokei_gh_zei_value [-] |')
w('| 2 | FUW00927SFBean (overload: key, subkey, in_value) | storeModelData(key, subkey, in_value) -> storeModelData(key, subkey, in_value, false) -> storeModelData(key, subkey, in_value, isSetAsString) | substring [-], setCx_start_flg_state [-], setCx_start_flg_value [-], setFnc_mode_state [-], setFnc_mode_value [-], setScreen_mode_state [-], setScreen_mode_value [-] |')
w()
w('### Terminal Operations Summary')
w()
w('The terminal operations reached FROM this method include:')
w('- `substring` [-] (via JKKAdEditCC, JKKAdEdit, JKKTelnoInfoAddMapperCC, JDKejbStringEdit)')
w('- `setTakcho_apo_kaden_kibo_um_screen_state` [-]')
w('- `setTakcho_apo_kaden_kibo_um_screen_enabled` [-]')
w('- `setTakcho_apo_kaden_kibo_um_screen_value` [-]')
w('- `setTakcho_apo_kaden_kibo_um_disp_flg_state` [-]')
w('- `setTakcho_apo_kaden_kibo_um_disp_flg_value` [-]')
w('- `setCx_start_flg_state` [-]')
w('- `setCx_start_flg_value` [-]')
w('- `setKei_svc_area_dsp_flg_state` [-]')
w('- `setKei_svc_area_dsp_flg_value` [-]')
w('- `setShkh_gokei_mongon_gh_state` [-]')
w('- `setShkh_gokei_mongon_gh_value` [-]')
w('- `setGtgk_prc_gokei_mongon_gh_state` [-]')
w('- `setGtgk_prc_gokei_mongon_gh_value` [-]')
w('- `setShkh_gokei_zei_state` [-]')
w('- `setShkh_gokei_zei_value` [-]')
w('- `setShkh_gokei_gh_state` [-]')
w('- `setShkh_gokei_gh_value` [-]')
w('- `setGtgk_prc_gokei_gh_zei_state` [-]')
w('- `setGtgk_prc_gokei_gh_zei_value` [-]')
w()
w('No screen/batch entry points were found within 8 hops. This method is a leaf utility method called by overloaded variants within the same bean.')
w()

with open(path, 'a', encoding='utf-8') as f:
    f.write('
'.join(S) + '
')
print('Parts 3-5 written, appended', len(S), 'lines')
