# XDMF_FF200_0 / 品目別有効在庫一覧

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

## 要約

| 項目 | 値 |
|------|------|
| FUNC\_ID | \`XDMF\_FF200\_0\` |
| 機能名 | 品目別有効在庫一覧 |
| 機能タイプ \(APP\_KBN\) | STD / 固定検索条件 |
| BG\_L | 4 |
| BG\_M | 8 |
| ブロック数 | 1 |
| 項目数 | 8 |
| 読み取りテーブル | 7 |
| 書き込みテーブル | 0 |
| DB 接続先 | 1 |


### 機能概要

製造指示の完了入庫予定、発注の仕入入庫予定、製造指示の材料出庫予定、製造指示の売上出庫予定を元に品目別に有効在庫数を参照するための画面です。製造指示の品目IDを基準にしてシングルレベルで構成品の有効在庫を計算しています。

※倉庫Cの考慮はしていません。品目IDでサマリーした結果となっています。
※「在庫推移」ボタンで内訳の確認画面（在庫推移の検討）が起動します。

## 機能設定

### 機能説明

| 項目 | 値 |
|------|----|
| 機能ID | XDMF\_FF200\_0 |
| 機能名 | 品目別有効在庫一覧 |
| 機能タイプ | 固定検索条件 \(STD\) |
| ADMIN\_ID |  |
| 業務分類 大 | XTEA生産管理 \(4\) |
| 業務分類 中 | 在庫管理 \(8\) |
| 業務分類 小 |  |
| 作成 | 2024\-07\-11 11:38:09.0 demo |
| 最終更新 | 2024\-07\-11 11:38:09.0 demo |
| ヘルプリンク名 \(HELP\_LINK\_NM\) |  |
| ヘルプURL \(HELP\_URL\) |  |

#### 機能概要

製造指示の完了入庫予定、発注の仕入入庫予定、製造指示の材料出庫予定、製造指示の売上出庫予定を元に品目別に有効在庫数を参照するための画面です。製造指示の品目IDを基準にしてシングルレベルで構成品の有効在庫を計算しています。

※倉庫Cの考慮はしていません。品目IDでサマリーした結果となっています。
※「在庫推移」ボタンで内訳の確認画面（在庫推移の検討）が起動します。


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

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

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

| ボタン | 状態 | FUNC\_KBN |
|------|------|------|
| 機能タイプ | 固定検索条件 | APP\_KBN=STD |

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

| ボタン | 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 | 表示 |


### ユーザグループ

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



## 検索条件 (集約)

| 表示名 | COL\_NAME | データ型 | 桁 | 表示形式 | 改行 | 集約数 | 集約元 |
|------|------|------|------|------|------|------|------|
| 品目ID | IDHINMOKU | VARCHAR2 | 30 | TEXT:半角、全角混在\(Byte\) |  | 1 | BLOCK1: IDHINMOKU |
| 品番 | TXHINBAN | VARCHAR2 | 100 | TEXT:半角、全角混在\(Byte\) |  | 1 | BLOCK1: TXHINBAN |
| 品名 | TXHINMEI | VARCHAR2 | 100 | TEXT:半角、全角混在\(Byte\) |  | 1 | BLOCK1: TXHINMEI |
| 品種区分 | KBHINSYU | VARCHAR2 | 3 | TEXT:半角、全角混在\(Byte\) | ○ | 1 | BLOCK1: KBHINSYU |
| 単位区分 | KBUNIT | VARCHAR2 | 3 | TEXT:半角、全角混在\(Byte\) |  | 1 | BLOCK1: KBUNIT |
| 最終受払日\(<=\) | HIZUKE | DATE | 10 | DATE:YYYY/MM/DD |  | 1 | BLOCK1: HIZUKE |
| 有効在庫数 | RUIKEI | NUMBER | 22 | INT:整数　　　　　　　　　　 |  | 1 | BLOCK1: RUIKEI |


## ブロック設定

### ブロック構成

| \# | TYPE | TITLE |
|------|------|------|
| BLOCK 1 | LIST | 有効在庫一覧 |

### BLOCK 1: 有効在庫一覧 [LIST]

#### SELECT 式

```sql
SELECT M3.IDHINMOKU
      ,BT010.TXHINBAN
      ,BT010.TXHINMEI
      ,BT010.KBHINSYU
      ,BT010.KBUNIT
      ,M3.HIZUKE
      ,M3.KBN
      ,M3.RUIKEI
FROM (
SELECT M2.*
      ,ROW_NUMBER() OVER (PARTITION BY IDHINMOKU ORDER BY M2.SEQ DESC) SEQ2
      ,SUM(CASE WHEN SEQ = 1 THEN M2.SURYO + (CASE WHEN M2.QTGENZAIKO IS NULL THEN 0 ELSE M2.QTGENZAIKO END) ELSE M2.SURYO END) over(PARTITION BY IDHINMOKU order by M2.SEQ) as RUIKEI
  FROM (

SELECT
 M1.*
,ROW_NUMBER() OVER (PARTITION BY IDHINMOKU ORDER BY HIZUKE ASC) SEQ
,(SELECT SUM(QTGENZAIKO) FROM FT010 WHERE FT010.IDHINMOKU = M1.IDHINMOKU) QTGENZAIKO

FROM (
-- 製造入庫予定
SELECT
   JT010.QTSEIZO AS SURYO
  ,JT010.IDHINMOKU
  ,JT030.DTTHRU AS HIZUKE
  ,'060' AS KBN -- 完成入庫
FROM JT010
LEFT OUTER JOIN (SELECT
                    NRSEIZO
                   ,SQKOUTEI
                   ,CASE WHEN DTTHRU IS NULL THEN TLN_SYSDATE ELSE DTTHRU END AS DTTHRU
                   ,ROW_NUMBER() OVER (PARTITION BY NRSEIZO ORDER BY SQLIST DESC) RNUM
                   FROM JT030 ) JT030 ON JT030.NRSEIZO = JT010.NRSEIZO AND JT030.RNUM = 1
WHERE JT010.STSEIZO < 40
AND JT030.DTTHRU <= /**%HIZUKE%**/'9999/12/31'
UNION ALL
-- 仕入入庫予定
SELECT
   HT011.QTHATTYU * BT010.VLKANZAN AS SURYO
  ,HT011.IDHINMOKU
  ,HT011.DTNOUKI AS HIZUKE
  ,'030' AS KBN -- 仕入入庫
FROM HT011
LEFT JOIN HT020 ON HT020.NRNYUKA = HT011.NRNYUKA
LEFT JOIN BT010 ON BT010.IDHINMOKU = HT011.IDHINMOKU
WHERE ( HT011.FGNYUKA IS NULL OR HT020.STNYUKA = '10')
AND HT011.DTNOUKI <= /**%HIZUKE%**/'9999/12/31'
UNION ALL
-- 売上出庫
SELECT
   JT010.QTJYUTYU * -1 AS SURYO
  ,JT010.IDHINMOKU
  ,JT010.DTNOUKI AS HIZUKE
  ,'130' AS KBN -- 売上出庫
FROM JT010
WHERE JT010.STSEIZO < 50
  AND JT010.QTJYUTYU > 0
  AND JT010.DTNOUKI <= /**%HIZUKE%**/'9999/12/31'
UNION ALL
-- 材料出庫
SELECT
   JT040.QTTOUNYU * -1 AS SURYO
  ,JT040.IDHINMOKU
  ,CASE WHEN JT030.DTFROM IS NULL THEN TLN_SYSDATE ELSE JT030.DTFROM END AS HIZUKE
  ,'160' AS KBN -- 材料出庫
FROM JT010
INNER JOIN JT040 ON JT040.NRSEIZO = JT010.NRSEIZO
LEFT  JOIN JT030 ON JT030.NRSEIZO = JT040.NRSEIZO AND JT030.SQKOUTEI = JT040.SQKOUTEI
WHERE JT010.STSEIZO < 30
  AND (CASE WHEN JT030.DTFROM IS NULL THEN TLN_SYSDATE ELSE JT030.DTFROM END) <= /**%HIZUKE%**/'9999/12/31'
) M1
) M2
) M3
LEFT JOIN BT010 ON M3.IDHINMOKU = BT010.IDHINMOKU
WHERE M3.SEQ2 = 1
```

#### 項目情報

| 並び順 | 物理項目名 | 表示名 | キー | 更新 | 検索 | 必須 | 改行 | グループ名 | 表示形式 | データ型 | 桁 | 表示桁 | 行数 | コンポーネント | 識別コード |
|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|------|
| 1 | IDHINMOKU | 品目ID |  |  | ○ |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 30 |  |  |  |  |
| 2 | TXHINBAN | 品番 |  |  | ○ |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 |  |  |  |  |
| 3 | TXHINMEI | 品名 |  |  | ○ |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 100 |  |  |  |  |
| 4 | KBHINSYU | 品種区分 |  |  | ○ |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 3 |  |  | リストボックス \(1\) | KBHINSYU |
| 5 | KBUNIT | 単位区分 |  |  | ○ |  |  |  | TEXT:半角、全角混在\(Byte\) | VARCHAR2 | 3 |  |  | リストボックス \(1\) | KBUNIT |
| 6 | HIZUKE | 最終受払日\(<=\) |  |  | ○ |  |  |  | DATE:YYYY/MM/DD | DATE | 10 |  |  |  |  |
| 7 | KBN |  |  |  |  |  |  |  | TEXT:半角、全角混在\(Byte\) | CHAR | 3 |  |  |  |  |
| 8 | RUIKEI | 有効在庫数 |  |  | ○ |  |  |  | INT:整数　　　　　　　　　　 | NUMBER | 22 |  |  |  |  |


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

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

| 設定種別 | 並び | 内容 |
|------|------|------|
| 固定条件式 | 1 | = |

###### 項目: TXHINBAN (品番)

| 設定種別 | 並び | 内容 |
|------|------|------|
| 固定条件式 | 1 | PREFIX |

###### 項目: TXHINMEI (品名)

| 設定種別 | 並び | 内容 |
|------|------|------|
| 固定条件式 | 1 | INFIX |

###### 項目: KBHINSYU (品種区分)

| 設定種別 | 並び | 内容 |
|------|------|------|
| 検索改行 | 1 | ON |

###### 項目: HIZUKE (最終受払日(<=))

| 設定種別 | 並び | 内容 |
|------|------|------|
| 固定条件式 | 1 | <= |

###### 項目: RUIKEI (有効在庫数)

| 設定種別 | 並び | 内容 |
|------|------|------|
| 固定条件式 | 1 | BETWEEN |
| 文字色 \> 行単位 | 1 | 色=\#ff0000 / 条件式=< / 条件値=0 |

#### 詳細設定

| 設定種別 | 値 | FUNC\_KBN |
|------|------|------|
| ボタンの非表示 \> 参照 | ON \[1\] | VIEW\_BUTTON\_HDN\_FLG |

#### 他画面呼出

##### ボタン: 在庫推移

| 設定 | 内容 |
| --- | --- |
| 遷移先ボタン名 | 在庫推移 |
| 機能ID | XDMF_FF201_0 (在庫推移の検討) |
| 初期検索 | ON |


**引数設定** (2 件)

_引数 #1 — 遷移先項目: IDHINMOKU (品目ID)_

| 設定 | 内容 |
| --- | --- |
| 式 | = |
| 項目 | IDHINMOKU (品目ID) |
| 値 | ON |

_引数 #2 — 遷移先項目: HIZUKE (受払日)_

| 設定 | 内容 |
| --- | --- |
| 式 | <= |
| 項目 | HIZUKE (最終受払日(<=)) |


## 参照情報

### メニュー位置

| FUNC\_ATH\_ID | グループ名 | 表示名 | AUTH\_KBN | PRINT\_SORT | APP\_URL | HELP\_URL |
|------|------|------|------|------|------|------|
| XTEA//XTEA\_PRODUCTION |  | 品目別有効在庫一覧 | 1 | 5350 | TALON/APPLICATION/GENERALFREE/GENERALFREE.xhtml?PARAM\_FUNC\_ID=XDMF\_FF200\_0 |  |
| XTEA//XTEA\_STOCK |  | 品目別有効在庫一覧 | 1 | 5420 | TALON/APPLICATION/GENERALFREE/GENERALFREE.xhtml?PARAM\_FUNC\_ID=XDMF\_FF200\_0 |  |


### 依存関係

#### 参照先機能

| FUNC\_ID | FUNC\_NM | APP\_KBN |
|------|------|------|
| XDMF\_FF201\_0 | 在庫推移の検討 | STD |

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

_FROM / JOIN 句から抽出_

| テーブル名 | 出典 |
|------|------|
| <a href="er-diagram.html#tbl-BT010">BT010</a> | BLOCK1.BODY\_SQL |
| <a href="er-diagram.html#tbl-FT010">FT010</a> | BLOCK1.BODY\_SQL |
| <a href="er-diagram.html#tbl-HT011">HT011</a> | BLOCK1.BODY\_SQL |
| <a href="er-diagram.html#tbl-HT020">HT020</a> | BLOCK1.BODY\_SQL |
| <a href="er-diagram.html#tbl-JT010">JT010</a> | BLOCK1.BODY\_SQL |
| <a href="er-diagram.html#tbl-JT030">JT030</a> | BLOCK1.BODY\_SQL |
| <a href="er-diagram.html#tbl-JT040">JT040</a> | BLOCK1.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 接続先)。


### マスタ参照

#### 汎用CD (TLN_M_HANYO_CODE_MAIN)

| 識別コード | KEY | 名称 | DSP1 | DSP2 | DSP3 | DSP\_NO1 | SORT |
|------|------|------|------|------|------|------|------|
| KBHINSYU | 01 | 品種区分 | 品種１ |  |  | 0 | 10 |
| KBHINSYU | 02 | 品種区分 | 品種２ |  |  | 0 | 20 |
| KBHINSYU | 03 | 品種区分 | 品種３ |  |  | 0 | 30 |
| KBUNIT | CNT | 単位区分 | 件 |  |  | 0 | 20 |
| KBUNIT | ECH | 単位区分 | 個 |  |  | 0 | 10 |
| KBUNIT | G | 単位区分 | ｇ |  |  | 0 | 60 |
| KBUNIT | KG | 単位区分 | kg |  |  | 0 | 50 |
| KBUNIT | MTR | 単位区分 | ｍ |  |  | 0 | 30 |
| KBUNIT | ROL | 単位区分 | 巻 |  |  | 0 | 40 |



