# XDMF_BF040_0 / 製造品材料明細の一括保守

_言語: ja / データ版数 (設定の最終更新): 2024-07-11 11:38:22_

## 要約

| 項目 | 値 |
|------|------|
| FUNC\_ID | \`XDMF\_BF040\_0\` |
| 機能名 | 製造品材料明細の一括保守 |
| 機能タイプ \(APP\_KBN\) | STD / 固定検索条件 |
| BG\_L | 4 |
| BG\_M | 6 |
| ブロック数 | 2 |
| 項目数 | 16 |
| 読み取りテーブル | 2 |
| 書き込みテーブル | 2 |
| DB 接続先 | 1 |

## 機能設定

### 機能説明

| 項目 | 値 |
|------|----|
| 機能ID | XDMF\_BF040\_0 |
| 機能名 | 製造品材料明細の一括保守 |
| 機能タイプ | 固定検索条件 \(STD\) |
| ADMIN\_ID |  |
| 業務分類 大 | XTEA生産管理 \(4\) |
| 業務分類 中 | 製造指示管理 \(6\) |
| 業務分類 小 |  |
| 作成 | 2024\-07\-11 11:38:09.0 demo |
| 最終更新 | 2024\-07\-11 11:38:09.0 demo |
| ヘルプリンク名 \(HELP\_LINK\_NM\) |  |
| ヘルプURL \(HELP\_URL\) |  |


### アプリケーション設定

#### 機能レベル設定一覧

_TLN_M_GENERAL_APP (FUNC_SEQ=-1) に登録されている全ての設定値。非表示フラグや個別セクションで重複して表示される設定も含む。_

| ボタン | 状態 | FUNC\_KBN |
|------|------|------|
| 機能タイプ | 固定検索条件 | APP\_KBN=STD |
| 起動Window状態 | 別Window \(既存あれば上書き\) \[NORMAL\] | OPEN\_WINDOW\_MODE |

#### 標準ボタン非表示設定

| ボタン | FUNC\_KBN | 状態 |
|------|------|------|
| PDF出力 | PDF\_BUTTON\_HDN\_FLG | 表示 |
| Excel出力 | EXCEL\_BUTTON\_HDN\_FLG | 表示 |
| Excel更新 | EXCELUPDATE\_BUTTON\_HDN\_FLG | 表示 |
| クリア | CLEAR\_BUTTON\_HDN\_FLG | 表示 |
| 検索 | SEARCH\_BUTTON\_HDN\_FLG | 表示 |
| 戻る | BACK\_BUTTON\_HDN\_FLG | 表示 |
| 確定 | EXECUTE\_BTN\_HDN\_FLG | 表示 |
| 参照 | VIEW\_BUTTON\_HDN\_FLG | 表示 |
| 画面設定 | COL\_BUTTON\_HDN\_FLG | 表示 |
| 検索条件保存 | COND\_SAVE\_HDN\_FLG | 表示 |
| 検索条件タイトル | IS\_CONDITION\_TITLE\_OFF | 表示 |
| ブロック名 | BLOCK\_NAME\_HDN\_FLG | 表示 |


#### 結合項目

_結合項目 (JOIN): 同じグループに属する他ブロックの検索項目は 1 つの検索条件として集約される。_

| 並び | 項目数 | 結合される項目 |
|------|------|------|
| 1 | 2 | BLOCK2: 品目ID \(IDHINMOKU\) ↔ BLOCK1: 品目ID \(IDHINMOKU\) |


### ユーザグループ

| FUNC\_ATH\_ID | グループ名 |
|------|------|
| system | システム管理 |



## 検索条件 (集約)

| 表示名 | COL\_NAME | データ型 | 桁 | 表示形式 | 改行 | 集約数 | 集約元 |
|------|------|------|------|------|------|------|------|
| 品目ID | IDHINMOKU | VARCHAR2 | 30 | TEXT:半角、全角混在\(Byte\) |  | 2 | BLOCK2: IDHINMOKU / BLOCK1: IDHINMOKU |


## ブロック設定

### ブロック構成

| \# | TYPE | TITLE |
|------|------|------|
| BLOCK 1 | CARD | 品目 |
| BLOCK 2 | LIST | 材料明細 |

### BLOCK 1: 品目 [CARD]

#### ブロックレベル更新先テーブル

| 設定 | 内容 |
|------|------|
| SELECT式 \> 更新テーブル | BT010 |

#### SELECT 式

```sql
SELECT  
        BT010.IDHINMOKU as IDHINMOKU
       ,BT010.TXHINBAN as TXHINBAN
       ,BT010.TXHINMEI as TXHINMEI
       ,BT010.KBHINSYU as KBHINSYU
       ,BT010.MODIFY_COUNT as MODIFY_COUNT
FROM
        BT010
```

#### 項目情報

| 並び順 | 物理項目名 | 表示名 | キー | 更新 | 検索 | 必須 | 改行 | グループ名 | 表示形式 | データ型 | 桁 | 表示桁 | 行数 | コンポーネント | 識別コード |
|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|
| 1 | IDHINMOKU | 品目ID | ○ |  | ○ | ○ |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 30 |  |  |  |  |
| 2 | TXHINBAN | 品番 |  | ○ |  | ○ |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 |  |  |  |  |
| 3 | TXHINMEI | 品名 |  | ○ |  | ○ |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 |  |  |  |  |
| 4 | KBHINSYU | 品種区分 |  | ○ |  | ○ |  |  | SBTX:半角文字\(Byte\) | VARCHAR2 | 3 |  |  | リストボックス \(1\) |  |
| 5 | MODIFY\_COUNT |  |  |  |  |  |  |  | INT:整数　　　　　　　　　　 | NUMBER | 10 |  |  |  |  |


##### 項目別 詳細設定 (ITEM_OPTN)

###### 項目: IDHINMOKU (品目ID)

| 設定種別 | 並び | 内容 |
|------|------|------|
| マスタチェック | 1 | ON |
| 検索必須 | 1 | ON |
| 検索子画面 \> 機能ID | 1 | 機能ID=XDMF\_BF100\_0 \(品目マスターの検索子画面\) |
| 検索子画面 | 1 | 子画面項目=IDHINMOKU \(品目ID\) / 項目名=IDHINMOKU \(品目ID\) |
| 検索子画面 | 2 | 子画面項目=IDHINMOKU \(品目ID\) / 戻り値=IDHINMOKU \(品目ID\) |
| 検索子画面 | 3 | 項目名=ON \[INIT\_SEARCH\] |

#### 詳細設定

##### 基本設定 (全ブロック共通) (1件)

| 設定種別 | 値 | FUNC\_KBN |
|------|------|------|
| 表示高さ | 100 | SPACE\_HEIGHT |

##### その他 (LIST/CARD/帳票/権限など) (2件)

| 設定種別 | 値 | FUNC\_KBN |
|------|------|------|
| 確定時オプション \> 排他制御 | ON \[1\] | EXCLUSIVE\_CONTROL\_FLG |
| 処理権限 \> 更新 | ON \[1\] | UPDATE\_FLG |

### BLOCK 2: 材料明細 [LIST]

#### ブロックレベル更新先テーブル

| 設定 | 内容 |
|------|------|
| SELECT式 \> 更新テーブル | BT040 |

#### SELECT 式

```sql
SELECT  
        BT040.IDHINMOKU as IDHINMOKU
       ,BT040.SQZAIRYO as SQZAIRYO
       ,BT040.SQLIST as SQLIST
       ,BT040.IDHINMOKU1 as IDHINMOKU1
       ,BT010.TXHINBAN as TXHINBAN1
       ,BT010.TXHINMEI as TXHINMEI1
       ,BT040.VLKOUSEI as VLKOUSEI
       ,BT040.SQKOUTEI as SQKOUTEI
       ,BT030.CDKOUTEI as CDKOUTEI
       ,BT050.TXNAME as TXNAME
       ,BT040.MODIFY_COUNT as MODIFY_COUNT
FROM
 BT040 LEFT OUTER JOIN BT030
            ON  BT040.IDHINMOKU = BT030.IDHINMOKU
               AND BT040.SQKOUTEI = BT030.SQKOUTEI
 LEFT OUTER JOIN BT050
            ON  BT030.CDKOUTEI = BT050.CDKOUTEI
 LEFT OUTER JOIN BT010
             ON BT040.IDHINMOKU1 = BT010.IDHINMOKU
```

#### 項目情報

| 並び順 | 物理項目名 | 表示名 | キー | 更新 | 検索 | 必須 | 改行 | グループ名 | 表示形式 | データ型 | 桁 | 表示桁 | 行数 | コンポーネント | 識別コード |
|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|
| 1 | IDHINMOKU | 品目ID | ○ | ○ | ○ | ○ |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 30 |  |  |  |  |
| 2 | SQZAIRYO | 行番 | ○ | ○ |  | ○ |  |  | INT:整数　　　　　　　　　　 | NUMBER | 5 | 3 |  |  |  |
| 3 | SQLIST | 一覧順序 |  | ○ |  | ○ |  |  | INT:整数　　　　　　　　　　 | NUMBER | 5 | 5 |  |  |  |
| 4 | IDHINMOKU1 | 子品目ID |  | ○ |  | ○ |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 30 | 12 |  |  |  |
| 5 | TXHINBAN1 | 子品目番号 |  |  |  |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 | 16 |  |  |  |
| 6 | TXHINMEI1 | 子品目名 |  |  |  |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 |  |  |  |  |
| 7 | VLKOUSEI | 構成数 |  | ○ |  | ○ |  |  | INT:整数　　　　　　　　　　 | NUMBER | 11 | 5 |  |  |  |
| 8 | SQKOUTEI | 工程行番 |  | ○ |  | ○ |  |  | SBTX:半角文字\(Byte\) | VARCHAR2 | 3 | 4 |  |  |  |
| 9 | CDKOUTEI | 工程C |  |  |  |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 30 | 10 |  |  |  |
| 10 | TXNAME | 工程名 |  |  |  |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 |  |  |  |  |
| 11 | MODIFY\_COUNT |  |  |  |  |  |  |  | INT:整数　　　　　　　　　　 | NUMBER | 10 |  |  |  |  |


##### 項目別 詳細設定 (ITEM_OPTN)

###### 項目: SQZAIRYO (行番)

| 設定種別 | 並び | 内容 |
|------|------|------|
| 表示位置 | 1 | 中央 \[C\] |
| シリアル番号加算値 \> 入力項目 | 1 | 入力項目=ON \[1\] / 非表示=ON \[1\] |

###### 項目: IDHINMOKU1 (子品目ID)

| 設定種別 | 並び | 内容 |
|------|------|------|
| マスタチェック | 1 | ON |
| 検索子画面 \> 機能ID | 1 | 機能ID=XDMF\_BF100\_0 \(品目マスターの検索子画面\) |
| 検索子画面 | 1 | 子画面項目=IDHINMOKU \(品目ID\) / 項目名=IDHINMOKU1 \(子品目ID\) |
| 検索子画面 | 2 | 子画面項目=IDHINMOKU \(品目ID\) / 戻り値=IDHINMOKU1 \(子品目ID\) |
| 検索子画面 | 3 | 子画面項目=TXHINBAN \(品番\) / 戻り値=TXHINBAN1 \(子品目番号\) |
| 検索子画面 | 4 | 子画面項目=TXHINMEI \(品名\) / 戻り値=TXHINMEI1 \(子品目名\) |
| 検索子画面 | 5 | 項目名=ON \[INIT\_SEARCH\] |

###### 項目: SQKOUTEI (工程行番)

| 設定種別 | 並び | 内容 |
|------|------|------|
| マスタチェック | 1 | ON |
| 検索子画面 \> 機能ID | 1 | 機能ID=XDMF\_BF130\_0 \(製造品工程明細マスターの検索子画面\) |
| 検索子画面 | 1 | 子画面項目=IDHINMOKU \(品目ID\) / 項目名=IDHINMOKU \(品目ID\) |
| 検索子画面 | 2 | 子画面項目=SQKOUTEI \(工程行番\) / 項目名=SQKOUTEI \(工程行番\) |
| 検索子画面 | 3 | 子画面項目=IDHINMOKU \(品目ID\) / 戻り値=IDHINMOKU \(品目ID\) |
| 検索子画面 | 4 | 子画面項目=SQKOUTEI \(工程行番\) / 戻り値=SQKOUTEI \(工程行番\) |
| 検索子画面 | 5 | 子画面項目=CDKOUTEI \(工程C\) / 戻り値=CDKOUTEI \(工程C\) |
| 検索子画面 | 6 | 子画面項目=TXNAME \(名称\) / 戻り値=TXNAME \(工程名\) |
| 検索子画面 | 7 | 項目名=ON \[INIT\_SEARCH\] |

#### 詳細設定

##### 基本設定 (全ブロック共通) (1件)

| 設定種別 | 値 | FUNC\_KBN |
|------|------|------|
| 検索結果０件メッセージを非表示 | ON \[1\] | IS\_SEARCH\_NOTFOUND\_MSG\_HDN |

##### その他 (LIST/CARD/帳票/権限など) (7件)

| 設定種別 | 値 | FUNC\_KBN |
|------|------|------|
| 処理権限 \> 削除 | ON \[1\] | DELETE\_FLG |
| 確定時オプション \> 排他制御 | ON \[1\] | EXCLUSIVE\_CONTROL\_FLG |
| 改ページしない | ON \[1\] | HDN\_PAGER\_FLG |
| 処理権限 \> 登録 | ON \[1\] | INSERT\_FLG |
| 画面最大行数 |  | MAX\_LINE\_COUNT |
| 標準Excel出力最大行数 |  | MAX\_LINE\_COUNT\_EXCEL |
| 処理権限 \> 更新 | ON \[1\] | UPDATE\_FLG |


## 参照情報

### メニュー位置

_(なし)_


### 依存関係

#### 参照先機能

| FUNC\_ID | FUNC\_NM | APP\_KBN |
|------|------|------|
| XDMF\_BF100\_0 | 品目マスターの検索子画面 | SUB |
| XDMF\_BF130\_0 | 製造品工程明細マスターの検索子画面 | SUB |

#### 参照先テーブル (書き込み)

_INSERT/UPDATE/DELETE/MERGE/UPDATE_TABLE 設定_

| テーブル名 | 出典 |
|------|------|
| <a href="er-diagram.html#tbl-BT010">BT010</a> | UPDATE\_TABLE \(FUNC\_SEQ=1\) / UPDATE\_TABLE \(FUNC\_SEQ=1\) |
| <a href="er-diagram.html#tbl-BT040">BT040</a> | UPDATE\_TABLE \(FUNC\_SEQ=0\) / UPDATE\_TABLE \(FUNC\_SEQ=0\) |

#### 参照先テーブル (読み取りのみ)

_FROM / JOIN 句から抽出_

| テーブル名 | 出典 |
|------|------|
| <a href="er-diagram.html#tbl-BT030">BT030</a> | BLOCK2.BODY\_SQL |
| <a href="er-diagram.html#tbl-BT050">BT050</a> | BLOCK2.BODY\_SQL |

> **✎ テーブル参照解析の注意事項**
>
> - テーブル参照は `UPDATE_TABLE` 設定 + ブロック SELECT 式 (BODY_SQL/TITLE_SQL) + JavaScript コード (CHR_TEXT) + 呼び出すストアドプロシージャ本体 (Oracle / PostgreSQL / MySQL / SQL Server) を `FROM` / `JOIN` / `INSERT INTO` / `UPDATE ... SET` / `DELETE FROM` / `MERGE INTO` / `REPLACE INTO` / `MERGE ... USING` の正規表現で抽出した結果です。 動的SQLは文字列リテラルが DML 文で始まる場合のみ抽出します。
> - **書き込み** = INSERT/UPDATE/DELETE/MERGE が検出されたテーブル / **読み取り** = FROM/JOIN のみのテーブル
> - **⚠ 抜け・漏れの可能性**: コード内で動的に組み立てられた SQL、変数連結、条件分岐内の SQL は検出できない場合があります。
> - **⚠ 対象外**: ストアドプロシージャ本体は Oracle / PostgreSQL / MySQL / SQL Server に対応 (DB2 等は今後)。 プロシージャから更に呼ぶ別プロシージャ、 BODY_SQL/JS 直書きの CALL/EXEC、 外部 API 経由、 トリガ連動は含まれません。 動的SQLの変数組み立てテーブル名も対象外 (リテラル完結分は抽出)。
> - **✎ 補完 (備考タグ)**: 解析で捕捉できない依存は 機能説明タブの備考に `[R:テーブル名]` (読み) / `[W:テーブル名]` (書き) / `[WR:テーブル名]` (読み書き) と記入すると依存として取り込まれます (1タグ1テーブル、 文章中に埋め込み可)。 `@番号` で複数DB接続の接続先を明示できます (例 `[W:LOG_TBL@2]`。 省略時は機能の DB 接続先)。

#### 被参照 (呼出元機能)

| FUNC\_ID | FUNC\_NM | APP\_KBN | 参照箇所 |
|------|------|------|------|
| XDMF\_BF010\_0 | 品目マスターの一覧・保守 | STD | BUTTON\_NEXT \(ALL\) |
| XDMF\_BF011\_0 | 品目マスターの保守 | STD | BUTTON\_NEXT \(ALL\) |
| XDMF\_BF012\_0 | 品目マスターと関連情報の確認 | STD | BUTTON\_NEXT \(ALL\) |



## コードブック

### JavaScript / 各種コード

#### クライアントJS:画面ロード (機能レベル, 並び=0)

```javascript
var init = false;
function resizeContents_end() {
	if (init ==false) {
		/* ボタンを設置 */
		//var val = "<input type='button' value='自動採番' onclick='fncAutoNum();' width='100px'>";
		//addElementValue("CNGCDTN" ,val ,"RT");

		/* 描写タイミングで空があれば実施 */
		fncAutoNum();
	}
	init = true;
}

/*  */
function fncElement(nm) {
	//指定された名称で検索
	ele = document.getElementById(nm);
	if(ele) {
		return ele;
	}
	//指定された名称で見つからない場合"_VIEW"を付与して確認
	ele = document.getElementById(nm+ "_VIEW");
	if(ele) {
		return ele;
	}
	//指定された名称で見つからない場合"_VIEW"を排除して確認
	ele = document.getElementById(　nm.replace( /_VIEW/g , "" )　);
	if(ele) {
		return ele;
	}
	return null;
}
function fncAutoNum() {
	var swR = false;
	var iInd = 1;

	var AUTO_NUM_CST = %2_SQZAIRYO%;
	var iAutoMax = 0;

	//MAX値取得
	swR = false;
	iInd = 0;
	while(swR == false) {
		element1_Str = AUTO_NUM_CST.replace( '{0}' , iInd ); 
		element1_Idx = parseInt(AUTO_NUM_CST.split(":")[5]);
		element1 = fncElement(element1_Str);

		if(element1) {
			var tmpMx = 0;
			if (element1.nodeName == 'SPAN') {
				tmpMx = element1.innerText;
			} else {
				tmpMx = element1.value;
			}
			if (iAutoMax < parseInt(tmpMx)) {
				iAutoMax = parseInt(tmpMx);
			}
			iInd++;
		} else {
			swR = true;
		} 
	}

	//空白項目に値セット
	swR = false;
	iInd = 0;
	while(swR == false) {
		element1_Str = AUTO_NUM_CST.replace( '{0}' , iInd ); 
		element1_Idx = parseInt(AUTO_NUM_CST.split(":")[5]);
		element1 = fncElement(element1_Str);

		if(element1) {
			if (element1.nodeName != 'SPAN') {
				if (element1.value == '') {
					iAutoMax++;
					element1.value = iAutoMax;
					element1.onblur();
				}
			}
			iInd++;
		} else {
			swR = true;
		} 
	}


}

```


