6. 試作・工機・材料・金型
量産(号口)の前段階として顧客から試作品の注文を受け、専用の金型・治具を工機課に作らせ、使う材質・板厚を確認する — この3サブシステム(MENUT1 試作管理/MENUB1 工機管理/MENUZ1 材料・金型管理)は、試作品を1つ作り上げるための一直線のつながりです。
3つのサブシステムがなぜ1セットか
A. 試作管理 (MENUT1)
試作とは — 新人向け解説 / 標準フロー TSBS01→03→11/12/13 / 試作№のライフサイクル / 試作品在庫と変更履歴 / 変更系 TSBS02/04/05/06/08
B. 工機管理 (MENUB1)
BSBS01〜05 の役割分担 / 工機課管理 Excel ジョブ
C. 材料・金型管理 (MENUZ1)
金型資産管理 (mdmp) / 型種マスター (tymp) / 金型のライフサイクル画面 / 材料管理 / 自動倉庫 ZSBS21〜23
特殊ケース / 実データスナップショット / 関連マスタ・帳票 / 用語集 / 他業務との接続点 / 未解明事項
- 試作(MENUT1)→工機(MENUB1)→材料・金型(MENUZ1)の3サブシステムは試作品を作る一直線のつながり。
- 金型管理mdmpの9,527件中90.9%は廃棄済みで、現役の金型はわずか9.1%(868件)しかない。
- 型種コード(表面処理系)は設計上参照される想定だが、実際の工機作業指示では99.9%が未使用。
3つのサブシステムがなぜ1セットか
板倉製作所は自動車部品(トヨタ紡織・アイシン・デンソー向け)の量産部品(号口)を作る前段階として、顧客から試作品の注文を受けます。試作品を作るには多くの場合、専用の金型・治具を新規に作る、または量産用金型を試作向けに一時的に使う必要があり、さらにどの材質・板厚の材料を使うかを都度指定する必要があります。
| サブシステム | 役割 |
|---|---|
| 試作管理 (MENUT1) | 顧客から試作ロット(試作№)の注文を受け、作業指示を出し、完成入力・在庫管理を行うワークフロー。号口(量産)とは別の受注体系・別の作業指示体系(SJDP 製造指示データ)で動く。 |
| 工機管理 (MENUB1) | 試作・号口向けの金型・治具を社内の工機課が製作するための作業指示発行サブシステム。試作の受注№や号口の構成(KSMP)から、工機課への作業指示書を起こす。 |
| 材料・金型管理 (MENUZ1) | ①製品に使う材質・板厚の情報照会(材料管理)、②完成した金型そのものを資産として台帳管理する機能(金型資産管理)、③金型を収める自動倉庫の入出庫管理、の3つが1つのメニューに同居している。 |
(出典: analysis/out/menu_tree.md:166-300, pilot/spec/menut1-schema.md, pilot/spec/menub1-reuse-map.md, pilot/spec/menuz1-reuse-map.md)
金型管理マスター(mdmp)の主キー mdnorb(年度連番)は試作向けの schema 移行(013_menut1.sql)で既に取り込まれており、MENUT1 と MENUZ1 はテーブルレベルでも共有関係にあります。(出典: pilot/spec/menut1-schema.md:167-182)
A. 試作管理 (MENUT1)
試作とは — 新人向け解説
「試作(しさく)」とは、量産(号口)の前に顧客が少量だけ発注する検証用の部品です。量産と試作では受け付ける受注データの体系そのものが異なります。
- 量産(号口)品は
JHMP(受注品番マスター)のJHKUGO=9、試作品はJHKUGO=1で区別されます。(出典: itjm75r.md:132, itks16r.md:240,679) - 受注データ
JUDPのJUD605(指示形態コード)で試作系のサブタイプが決まります: 11〜19 = 試作単品出荷品(部品そのものを1個ずつ出荷)、21〜29 = 試作組付部品(複数部品を組み立てて出荷)、30〜31 = 試作組付まとめ指示(複数受注をまとめて1つの指示にする)。(出典: itts54r.md:27, itts71r.md:85-86, itts72r.md, itts03r.md:112) - 試作品専用の注文識別子として「試作№」が付与されます。受注ごとに紐づく管理番号で、伝票№とセットで扱われる場面もあります。(出典: screen-help.json:1309)
- 試作品は号口とは別の作業指示ファイル
SJDP(製造指示データ)で管理されます。号口は別サブシステム(MENUW1・MENUJ1系)のJUDP/WSBS*系列で動いており、試作用の作業指示(SJDP)と号口用の作業指示は完全に別のデータフローです。(出典: menut1-schema.md:75-95)
JHKUGO=1)と号口(JHKUGO=9)はJHMPのフラグで区別される並立した別の受注体系であり、量産移行は「同じ品番に対して新たに号口の受注を起票する」という運用(別受注として起こす)である可能性が高いです 推測。詳しくは 特殊ケース を参照してください。
標準フロー — TSBS01 → 03 → 11/12/13
- TSBS01 試作作業指示数計算 TSBS01C
一括バッチ処理。実行キーを押すだけで、以下5つの内部処理を連続実行する(元に戻せない):- RZBJDPQ2/ITTS42R/ITTS43R/MKBJDPQ2 — 組付部品の振戻(未引当数の戻し)と再引当(在庫からの引き当て直し)
- ITTS71R — 単品出荷品用の指示数計算(JUD605=11-19 を集計し SJDP へ反映)
- ITTS72R — 組付部品用の指示数計算(BJDP の不足数を集計)
- ITTS73R — 余剰指示削除(不要になった SJDP 行を削除、または再発行指定中なら終了処理)
- ITTS53R — 依頼区分確認(対象行の依頼区分を
'A'=確定済みへ昇格)
担当: 試作担当者(バッチ実行のみ)(出典: tsbs01c.md:11-26, itts71r.md, itts72r.md, itts73r.md, itts53r.md) - TSBS03 試作作業指示書発行 TSBS03C Excel/VBA
指示計算で溜まった未発行の SJDP 行を印刷する。実行すると①作業指示書、②品質チェックシート、③仮出庫指示書(材料や部品を先に出庫するための指示)の3帳票が出力される。「試作用・号口用 共に発行」する設計で、印刷は Excel マクロ(BAT1003/BAT1003A)に委譲される。担当: 試作担当者(出典: tsbs03c.md:27-34) - 現場作業
金型・材料の手配、加工。 - TSBS11 / TSBS12 / TSBS13 完成入力
現場で加工が終わったら「完成入力」を行い、指示を完了させる。目的の異なる3つの画面がある(詳細は下表)。担当: 試作担当者・現場
MONMSG MSGID(CPF0000)(エラーを全て握りつぶす)指定があり、途中の処理が失敗しても後続処理がそのまま走ります。パイプライン中の1ステップだけがサイレントに失敗しても画面上は何も表示されず、原因追跡が難しくなります。(出典: tsbs01c.md:41-56, 未解明事項#1)
【ヒアリングで判明】2026-07-23の新實さんへのヒアリングでは、このMONMSG CPF0000による握りつぶしについて新實さんご自身は認識がなく、実害の有無を判断できる立場になかった——営業部・製作部等への追加確認が必要と回答があった。詳細はhearing.html D1参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)
完成入力が3種類ある理由
試作管理には目的の異なる3つの完成入力画面があります。3つに分かれている理由は指示区分(単品出荷品/組付部品/組付まとめ指示)ごとに配分先のデータ構造が異なるためです。単品出荷品は「受注(JUDP)への完成数配分」、組付部品は「構成部品(BJDP)への完成数配分」というように配分先マスタが違うため、画面・ロジックが分離されています。
| 画面 | 対象 | 何をするか |
|---|---|---|
| TSBS11(組付部品用) | 指示区分=2 | 完成数を BJDP の各構成部品行に配分し、在庫(PBZKUPR)から先に引当。余剰分は在庫へ戻す。入庫指示書(BJDPP1)を生成し BAT1011 で印刷 Excel/VBA |
| TSBS12(まとめ指示用) | 組付まとめ指示 | ITKM32R を呼び、出荷指示書発行(検査用, BAT0109)をトリガ Excel/VBA |
| TSBS13(単品出荷品用) | 指示区分=1 | 完成数量を、その品番の未出荷の複数受注(JUDP)へ自動配分。1件のみ、または完成数+在庫が全受注をカバーできる場合は自動配分、それ以外はサブ画面で操作者が手動配分。出荷指示書(BAT0109)・仮出庫指示書(BAT1003A)を生成 |
(出典: itts11r.md:18-30, tsbs12c.md:7-12, itts13r.md:53-72)
試作№のライフサイクル
SJDP(製造指示データ)の重要フラグ:
| 列 | 意味 | 値 |
|---|---|---|
sjkbwk | 作業指示書発行状態 | 空白=未発行 / 'S'=再発行指定中 / 'E'=発行済 |
sjkusj | 指示区分 | 1=単品出荷品 / 2=組付部品 / 3=号口品 |
sjkufx | 終了区分 | 0=未完了 / 9=完了 |
sjd013 | 入庫区分 | 0=未入庫 / 9=入庫済 |
(出典: menut1-schema.md:81-94)
試作品在庫と変更履歴(監査ログ)
完成入力後の余剰在庫・材料在庫は ZKDP(試作品在庫データ)で管理され、専用のオペレータ画面(MENUT2 opt27, ITTS30R 試作品在庫入出庫処理&照会)から直接入出庫できます。この画面は在庫区分 J(単品出荷品)/B(組付部品)を切り替え、入庫・出庫を同時入力できます。(出典: itts30r.md:1-36)
もう一つ重要なのが ZLGP(試作品在庫データ変更履歴)です。試作品在庫を直接修正する画面 ITTS34R(試作品在庫データ修正処理, MENUT2 opt52)は、在庫を書き換えるたびに ZLGP へ監査ログを1行残します。この画面は現在庫数・引当数・未入庫数の3つの数量を直接上書きできる強力な機能のため、RPG ソースにハードコードされた4名限定のホワイトリスト 特殊 でアクセス制限されており、操作者コード入力・区分選択・品番入力・修正前後の数量比較(バランスチェック: 未引当在庫=現在庫数−引当済+未入庫前)を経てからでないと更新できません。(出典: itts34r.md:1-32)
変更系 — TSBS02/04/05/06/08
指示を出したあとに内容を直したり、追加・再発行したりするための5つのユースケースです。
| 画面 | プログラム | 用途 |
|---|---|---|
| TSBS02 試作作業指示数修正 | ITTS52R | 消化区分≤2 の未完了指示を一覧表示し、指示数量と依頼区分を行ごとに一括修正(サブファイル最大18〜19行、バリデーションなし)。TSBS01 が計算した数量を人手で微調整する画面。 |
| TSBS04 試作作業指示追加 | ITTS54R | 受注№を指定して新規に試作作業指示(SJDP行)を手動追加。指示形態11〜31が対象。製造指示受注№(SJNOJT)は自動採番。 |
| TSBS05 試作作業指示設定 | ITTS21R | 仕掛日未設定(SJHIKK=0)の指示に仕掛数量・仕掛日・指示納期・見積工数を一括設定する画面(TSBS01計算後、まだ着手日が決まっていない指示に日程を入れる工程)。 |
| TSBS06 試作作業指示変更 | ITTS22R | 品番を指定し、その品番の指示一覧を編集(仕掛数量・指示数量・仕掛日・指示納期・見積工数・終了区分)。終了区分を0以外にする=指示の中止で、単品出荷品/組付部品の場合は仮出庫の取消連絡(SJDPQ2)が発行される。 |
| TSBS08 試作作業指示書再発行 | ITSJ80R系 | 受注№を指定し発行済みの指示書を確認、再発行フラグ(sjkbwk='S')を立てる。完了済み・号口品はエラー。 |
(出典: itts52r.md, itts54r.md, itts21r.md, itts22r.md, screen-help.json:995,998,1001,1531,1540)
KENSU は ITTS22R 内で一度も増分されず、終了区分を変更しても BAT1006(仮出庫指示取消連絡バッチ)が常に呼ばれない状態になっている可能性があります。つまり「指示を中止したのに仮出庫の取消連絡が現場に届かない」というサイレントな不整合が起きているかもしれません。(出典: itts22r.md:165, 未解明事項#2)
【実資料で判明】このKENSU/BAT1006自体の真偽はまだ確認できていないが、その影響範囲については資料が2点見つかった。社内手順書((E-02)/(E-03)/(E-06)/(E-07)「受注状況の変更」)により、終了区分=9への変更を行う10.試作管理→6.試作作業指示変更(=このTSBS06/ITTS22R)は、対象受注区分における標準・必須の中止手順であることが確認できた——つまりこのバグが実在するなら「稀な例外」ではなく日常的な中止操作のたびに毎回発生する規模の問題になる。一方、2026年進行中の調査文書(仮出庫指示書発行不具合調査)により、ITTS13Rが完成時に上流の通知状態と無関係に仮出庫指示の再発行と実際の在庫引当を独立して再実行することが確認できており、実在庫の数字自体はこの独立処理で保護される——被害があるとすれば「現場への連絡・紙の伝達漏れ」という運用面の話であり、在庫数の破損ではない可能性が高い。(出典: source/work-procedures/作業手順書/(E) 受注状況の変更/(E-02)・(E-03)・(E-06)・(E-07)各参照、source/dev-archive/20260512_仮出庫指示書発行不具合調査/参照)
【ヒアリングで判明】2026-07-23のヒアリングで、このバグの実在が新實さん自身によって直接確認され、既に修正済みであることが判明した——「ITTS22Rで『仮出庫指示取消連絡』がされないバグを確認しました。修正しました」。トラブル報告としての記憶はなく、TSBS06自体が稀な処理であることに加え、その中でも仮出庫指示取消連絡が必要になるケース自体がかなり稀だったため、現場レベルで対応・吸収されていた可能性が高いとのこと。この修正は板倉製作所側の稼働中AS/400(移行元)に対して行われたものであり、本移行では修正前の旧バグ挙動ではなく修正後の挙動を忠実に再現する必要がある——ソースを再取得する際はこの差分に注意すること。詳細はhearing.html D1参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)
B. 工機管理 (MENUB1)
工機管理は、試作向け・号口向けの金型・治具そのものの製作を工機課に指示するサブシステムです。全メニューは1つのデータフロー上に乗っています。実データではkfdp(工機作業指示データ)が5,438件登録されており、2020年以降が全体の94%以上を占める、比較的新しいデータです(実データスナップショット参照)。
(出典: menub1-reuse-map.md:8-12)
誰が金型作業を発注するか — BSBS01〜05の役割分担
工機課への作業指示は「受注№」または「設計№」を起点に発行されます。5つのメニューはすべて ITSQ01R 使用制限ゲートがかかっています。
| opt | 画面 | 対象プログラム | 内容 |
|---|---|---|---|
| 1 | BSBS01 金型・治具作業指示書発行 | ITKK01R | 受注№を入力→構成部品(KSMP)を展開→各行に「工機(工程内製作)」と「設計(治具)」の要否フラグを立てて発行。新規発注の起点。 |
| 2 | BSBS02 号口金型作業指示書発行(単体構成) | ITKK03R | 受注№から親品番のみの構成に対して号口用金型を発行(kfkusj='G')。 |
| 3 | BSBS03 号口金型作業指示書発行(複数構成) | ITKK04R | 親品番の下に複数の子品番がある構成に対して、選択した構成ごとに号口用金型を発行。 |
| 4 | BSBS04 金型・治具作業指示書再発行 | ITKK02R | 設計№で既発行分を検索し、再発行対象行を再度「未展開」状態(kfkbwk=' ')に戻して印刷キューに載せる。 |
| 5 | BSBS05 金型・治具作業指示書手入力 | BAT1105.XLSM Excel/VBA | 対話型RPGが存在せず、Excelマクロで手入力する運用。 |
(出典: menub1-reuse-map.md:23-29,97-153, screen-help.json:1282,1628,1637,1640,1649)
KFDP の区分フィールド kfkusj は 'K'=工機(ITKK01R)/'G'=号口金型(ITKK03R・04R)/'S'=設計(治具、いずれからも発生しうる)の3値です。(出典: menub1-reuse-map.md:188-190)
詳細: BSBS05 手入力ケース
BSBS05は対話画面を持たず、BAT1105.XLSM(Excelマクロ)を起動するだけです。標準の新規/号口/再発行のいずれにも当てはまらない例外的な金型・治具作業指示を、Excel上で手作業入力する運用になっています。(出典: menub1-reuse-map.md:36-38)
工機作業指示・工機課管理の Excel ジョブ(実VBA解読済み) Excel/VBA
作業指示書の印刷シーム: 金型・治具作業指示書発行.xlsm が BSBS01 の作る
ワークファイル KFDPP1.xls(Client Access 転送)を読み、様式ブック
金型・治具作業指示書.xlsm に流し込んで印刷する — MENUB1 の印刷実体はこのマクロです。
プリンタは Printer_List.xlsx で解決し、実行結果を 自動実行結果記録.xlsx
(ITA_PGM のエラー通報網)へ記録します。…手入力.xlsm は「空の指示書を作成する」
BSBS05 の Excel 側です。(出典: 金型・治具作業指示書発行.xlsm Const DATA_FILE="KFDPP1.xls" / 手入力.xlsm 処理概要)
344ファイルの実体はユニーク5ブック+日次スナップショット群でした。金型製作用の
設計材料(工具鋼)の購買が AS/400 を一切経由せず Excel で完結しています:
設計材料発注書.xlsm(仕入先シート=山一ハガネ/中野ハガネ/藤巻工範、発注データ+受入データ、
Send_FaxでFAXプリンタドライバへ直接印刷)、入荷予定/未入荷リストの自動メール2本
(MailingList.xlsx 経由の二段構え標準型、実際のメール送信は別プログラムが定期実行)。
MENUG1(外製管理)にも SFDP にもこの購買は載りません。
オネストン発注書.xlsm(同型テンプレートの複製)と工機発注書FAX.xlsmは
別カテゴリ — オネストン株式会社は工具鋼ではなく切削工具・ワイヤ放電加工消耗品
(エンドミル・リーマ・タップ・EDMワイヤ等)の仕入先で、工機発注書FAXも同種消耗品
(三機通商/菱電工機/ソディック他)の定期発注ツールでした。金型そのものの外注(型屋への発注)
を示す内容は無く、未解明事項#8の候補としては外れます。
(出典: 各マクロVBA全文デコード、オネストン発注書.xlsm・工機発注書FAXsharedStrings)
プログラム改訂履歴.txt(2018-07-30)に「入力データが一部消失。バックアップおよび
シャドウコピーでの復元が不可能」の記録があり、以後保存のたびに全ブックのスナップショットを
設計材料発注書_History/ へ残す運用に変更。2026-03 時点でも継続中です。
Excel台帳ゆえの脆弱性が実際に露呈した事例として、移行時の教訓になります。
C. 材料・金型管理 (MENUZ1)
金型資産管理 — MDMPを中心とした金型のライフサイクル
金型管理マスター mdmp(キー: mdnorb 年度連番)が金型1本=1レコードの資産台帳です。23列で構成され、品番・品名・得意先コード・型式・製作年月日・依頼者コード・保管コード・棚番・移動日・廃棄日・持出コード・保管期限・自動倉庫最終入庫日・占有区画等を持ちます。(出典: analysis/out/masters_registry.json mdmpセクション, menuz1-schema-delta.md)
実データでは9,527件のうち8,659件(90.9%)が廃棄フラグ(mdcdhk='9')済みで、現役として保管コードが立っているのは868件(9.1%)のみでした。詳細は実データスナップショットを参照してください。
mdmp.mdcdtk(得意先コード)と mdcdmd(持出コード)フィールドの存在から、金型は顧客ごとに紐づく資産として管理されている、あるいは廃棄時に顧客へ返却/持ち出しする運用が想定されている可能性がありました。償却(減価償却)や金額に関するフィールドはMDMPに一切存在せず、決定ログや仕様書内にも金型費請求に関する明示的な記述は見つかっていませんでした。
2026-07-23の新實さんへのヒアリングで、この推測が確定した——板倉製作所の会計上の立場では、金型はすべて客先所有の資産であり、当社側が資産として保有しているものはそもそも存在しない。したがって資産計上・償却の管理は行っておらず、型費としての管理もしていない。型屋への金型外注発注についても「金型を外注したことはありません」と明確に否定された——プレス部品の外注時に金型を伴うケースはあるが、それも別途管理していない。つまりMDMPに償却・金額フィールドが無いのは調査漏れではなく、そもそも管理すべき資産価値が存在しないためだった。詳細はhearing.html D2参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)
型種マスター (tymp)
金型の「型式カテゴリ」を表す小さなマスタで、tycdkt(型種コード)→tynmkt(型種名22桁)/tyrmkt(型種略名12桁)のみを持ちます。ITKK03R/04R の号口金型発行画面で F5 popup 経由で型式を選ぶ際に参照されます。(出典: analysis/out/masters_registry.json tympセクション, menub1-reuse-map.md:128)
金型のライフサイクル画面
ZSBS14 金型管理データ入力(ITMD01R)が金型1本ごとのマスタ登録を行う起点画面です。4モードをF4/F5/F6/F23で切り替えます:
- 新規登録 (F6)
品番・製作依頼者・保管場所・棚番・備考を入力すると、年度連番(WSNORB)と管理№(WSNOCD)を自動採番し、品名・型式・得意先・依頼者名・保管場所名を各マスタから引き当てて確認画面へ。実行でMDMPへ書き込み。 - 移動登録 (F5)
年度連番を指定し、移動先の保管コード・棚番・移動日を入力してMDMPを更新(保管場所コード='S'自動倉庫の場合は棚番マスタtbmpで存在チェック)。 - 廃棄登録 (F4)
年度連番・廃棄日・持出先を入力し、mdcdhk='9'(廃棄),mddthk(廃棄日),mdcdmd(持出コード)をセットし、棚番・移動日をクリア。 - データ削除 (F23) 特殊
パスワード認証(ソースにハードコードされた合言葉。環境変数化が推奨されている)の上で全項目をブランク/ゼロにする論理削除(品番欄に文字通り'DELETE RECORD'という文字列を書き込む方式で、物理削除ではない)。
(出典: itmd01r.md:1-46, screen-help.json:1471, menuz1-open-questions.md:188-195,211-216)
詳細: 照会・台帳・廃棄チェック(ZSBS16/17/19)
- ZSBS16 金型管理情報問合せ ITMD02R — 品番を入力すると、その品番に紐づく金型すべてを一覧照会(管理№・製作日・保管場所名・棚番・移動日・廃棄日・持出コード等)。読み取り専用。(出典: screen-help.json:1468)
- ZSBS17 金型管理台帳 ITMD03R Excel/VBA — 得意先コード範囲を指定するバッチ印刷帳票。金型を得意先別品番順(MDML1)に一覧化。(出典: menuz1-open-questions.md:249-255)
- ZSBS19 金型廃棄チェックリスト ITMD05R Excel/VBA — 年度連番範囲・基準日(WSHIST)を指定し、対象金型の構成部品(KSMP、1階層のみ)から最終受注納期(JUDL09)を割り出して、基準日以前に納期が切れている=廃棄候補の金型を一覧化するバッチ印刷帳票。(出典: menuz1-open-questions.md:288,313-319)
詳細: ZSBS26 金型管理マスター更新(一括メンテナンス)
パイプライン: ITMD09R → CLRPFM MJMP → ITMD10R → BAT0726。入力項目なしで、実行すると金型管理マスター(MDMP)の保管期限関連項目(初品納入日・最終納入日・最終納期・保管期限)を全件再計算し、続けて自動倉庫棚卸マスター相当の一時ワークテーブル MJMP(金型管理マスター受注品番展開)を全件洗い替えします。MJMPは永続データを持たない一時展開テーブルで、mjhnju/mjnmju(受注品番/品名の展開列)を除けばMDMPの列とほぼ同じです。(出典: screen-help.json:1480, menuz1-schema-delta.md:115-122)
ITLIBS/BAT0726.txt を確認すると、BAT0726 は
CALL PGM(BATCH00) PARM('BAT0726.XLSM') のみの3行CLで、BAT1101/BAT1105と同じ
BATCH00呼び出しパターンでした(BAT0726.XLSM自体は本リポジトリ未収録)。一方、金型管理フォルダの
プログラム作成上の注意点.txt(2017-01-26)が記す「自動倉庫端末のAS_DATAアクセス制限
→MDMP.xls/MJMP.xlsを共有フォルダへコピー」は、実際に稼働する別経路で裏付けが取れました:
タスクスケジューラ SCD_DAILY_0130.bat(1:30起動)→DAT_COPY.batが
\\SERVER2\Kanri\AS_DATA\{MDMP,MJMP}.xlsを\\Server2\共有サービス_01\AS_CopyFile\
へcopy /yする実処理を確認済みです。つまり「BAT0726のExcel出力が未実装」という従来の
記述は、ZSBS26画面からの直接印刷は確かに未実装である一方、MDMP/MJMPの日次コピー自体は
別のスケジュールジョブで現に動いているという実態を見落としていました。(出典:
source/as400-admin/transport-tooling/ITLIBS/BAT0726.txt, source/as400-admin/soumu8-scd-job/SCD_DAILY_0130.bat,
source/as400-admin/soumu8-transport/AS400_DATA_TRANSPORT_Local_Only/DAT_COPY.bat)
材料管理 — 材質・使用材料マスタと受注残照会
材料管理は主に読み取り専用の照会画面で構成されており、書き込みを行う画面は見当たりません(マスタ自体のメンテナンスは別途 MENUM系のマスタ保守サブシステムで行われる想定)。(出典: analysis/out/masters_registry.json のCRUDプログラムMNMW49等参照)
実データではzsmp(材質マスタ)419件、szmp(使用材料マスタ)7,732件(受注品番6,157件分)が登録されています。使用頻度トップはSPC980DU(582件)でした(実データスナップショット参照)。
| マスタ/画面 | 内容 |
|---|---|
| zsmp 材質マスター | 材質(zszisi, 主キー16桁)、比重(zshiju)、単価(zstank)のみを持つシンプルなマスタ。ZSBS05(登録材質問合せ)で全件を材質順に一覧照会(QUERY/400定義 LTZISITU)。 |
| szmp 使用材料マスター | 受注品番(sznohn)×材質(szzisi)×板厚(szitat)の組み合わせに材料区分(szkuzi)を紐づける中間テーブル(主キーは3列複合)。1つの受注品番が複数の材料エントリを持てる。ZSBS06(材料別使用品番問合せ)で材質→板厚→受注品番順に全件一覧照会(QUERY/400定義 LTZAIRYO)。 |
| ZSBS07 使用材料問合せ ITZR12R | 受注品番を入力すると、まずBHMP(部品品番マスター)でその品番自身の材質・板厚を確認し、続いて構成マスター(KSMP)を辿って内製(1)・外製(2)の子部品それぞれの材質・板厚をチェック(内外コード'8 '=S/A品番は除外)。同じ材質+板厚の組み合わせは名寄せされ、材料区分名はNMMPから解決。新人向けに言えば「この製品を作るにはどんな材料が何種類必要か」を確認する画面。 |
| ZSBS08 材料別受注残問合せ ITZR14R | 材質・板厚を入力すると、szmp を材質+板厚キーで検索し、該当するすべての受注品番についてJHMP(受注品番マスター)の受注残数(JHJZSU)が0より大きいものだけを一覧表示。得意先名(TKMP)、直近の未完了受注納期も併せて表示。新人向けに言えば「この材質・板厚を使う受注がどれだけ残っているか(材料をどれだけ確保すればよいか)」を確認する画面。 |
| ZSBS11 品番別使用材料経歴問合せ ITZR33R | 単品品番を入力すると、SJDL02(試作作業指示データのアクセスパス)から完成済み(完成日≠0)の指示行を一覧表示し、受注№・完成日・出来高に加えて材料管理№1〜3(sjnoz1〜3)を表示。材料管理№は完成入力(ITTS15R系)の際に紐づけられるロット番号(材料トレーサビリティ)。 |
(出典: zsbs05-report.md, zsbs06-report.md, itzr12r.md:13-21, itzr14r.md:13-20, itzr33r.md:13-20, itts15r.md #UPDAT表)
rnmp(ロット№マスタ)は rnnort(ロット№)と rnhnbj(受注品番)の2列だけが実質的な意味を持ち、残り10列すべてが DUMMY0xx という名前の未使用予備フィールドです。現時点で解析済みのMENUT1/MENUB1/MENUZ1のプログラム群からは、rnmpを直接読み書きする処理が確認できていません。マスタ保守サブシステム(MENUM系, MNMW54等)経由でのみ更新される可能性があります 推測。(出典: analysis/out/masters_registry.json rnmpセクション, 未解明事項#5)
実データで一部解明 実データ照会では17,745行全件でrnhnbjが空欄なく埋まっており、うち17,575件(99.0%)が現行のjhmp(受注品番マスタ)に実在する品番でした。またrnnort(ロット№)は110701〜128455という連続密度の高い範囲に収まっており、これは散発的な手作業入力ではなく採番カウンタ的な運用を示唆します。10列のDUMMY0xxも実データで全行ゼロを確認し、「未使用」という記述の正しさは裏付けられました。つまりrnmpが空・ダミーの死んだテーブルではなく、実際に稼働中の生きたデータであることは確認できましたが、書き込み元プログラムそのものの特定はまだ未確認のままです(詳細は実データスナップショット参照)。
材料管理/(225ファイル→ユニーク約22ツール)はコイル材・大板材の購買を丸ごと担う
Excel の影のシステムでした。発注は 発注処理_コイル/_大板(材料管理マスタ.xlsx
のマスタ駆動ドロップダウン)→発注書印刷(FAX、アイシン向けはメール)→
材料発注依頼書.xlsx 台帳へ追記、入荷・単価入力も同台帳を更新します。
AS/400 接点は SJDPP1.xls の一方向読み取り(使用材料確認書の生成・自動メール)のみで、
書き戻しはゼロ。職員自筆のREADME 材料管理について.xlsx が分業と更新周期
(生産指示は約5分毎に上書き)を明文化しています。(出典: 材料単価データ入力.xlsm / 使用材料確認書メール送付.xlsm Const DATA_FILE="SJDPP1.xls" / 材料管理について.xlsx)
材料管理マスタ.xlsx の「単価マスタ」シート+納入毎の
材料単価データ入力.xlsm であり、AS/400 の zsmp.zstank は一度も使われて
いませんでした。比重も VBA 内計算(Weight_Keisan_Fe)と
「コイル巾(mm)×3.3=最低重量(kg)」という文書化された商慣行ルール
(コイル材最低重量の考え方.doc)で代替されています。
自動倉庫 — 金型を機械式倉庫に出し入れする
自動倉庫は、金型を保管する物理的な立体倉庫設備(保管コード='S')です。金型管理マスター(MDMP)のうち mdcdhk='S' の行だけを対象に、専用の3画面で棚番単位の入出庫・照会・登録変更を行います。すべて MDML4(mdcdhk,mdnotn,mdhigh,mdnorb順の金型アクセスパス)を使い、tbmp(棚番管理マスター)と対になっています。
| opt | 画面 | プログラム | 内容 |
|---|---|---|---|
| 21 | ZSBS21 自動倉庫入庫処理 | ITMD06R | 棚番を入力すると、その棚にあるMDMP行の一覧が出る。入庫指定(WSCDDT='N')にチェックした行だけ、mddtjn(自動倉庫最終入庫日)を本日に更新。棚(tbmp)の使用区画数等のカウンタはここでは更新されない(ITMD08Rが担当)。 |
| 22 | ZSBS22 自動倉庫占有状況照会 | ITMD07R | 棚ごとの使用区画数・積載可能区画数・使用箱数・棚種名称を照会。空棚フィルタあり。読み取り専用。 |
| 23 | ZSBS23 自動倉庫登録処理(移動・廃棄) | ITMD08R | 棚番の各行に N=新規登録/M=棚の移動/D=倉庫から削除/空欄=情報変更のみ を指定して一括処理。処理後、対象棚のヘッダー情報(tbmpのtbkdtn,tbused,tbhi01/02,tbusbx,tbpsbx)をまとめて1回更新。 |
(出典: itmd06r.md:1-38, itmd08r.md:1-42, screen-help.json:1474,1477,1507)
新實さんの部署(Server2\Kanri\作業手順\自動倉庫マニュアル)に残っていた社内手順書(2012-05-10作成)に、ZSBS21入庫処理の実際のオフコン操作手順が明記されていた——「オフコンのメインメニューから7 材料・金型管理サブシステム→21 自動倉庫入庫処理」(MENUZ1がメインメニューの選択肢7番であることを裏付ける実例)、そして棚番欄には「x-xx-xxの形式で入力して右Ctrlキー」——桁区切りのハイフン入り書式であることが分かる。棚番は金型管理カード(紙の現物)を参照して転記する運用。(出典: source/work-procedures/自動倉庫マニュアル/自動倉庫へ入庫する時のオフコンへのデータ入力.doc、2012-05-10付、作成者Gyoumu19)
自動倉庫には物理ハードウェアとの直接連携(DTAQ/SBMJOB/ソケット通信等)は見当たらず、純粋なデータベース上の帳簿管理です。つまり実際の搬送機構の制御は別システム(倉庫コントローラ)が担い、本システムは在庫記録の同期のみを担当していると考えられます 推測。(出典: itmd06r.md:10-12, itmd08r.md:14-15)
特殊ケース
試作→号口移行(量産移行)
明示的な「試作品を号口品へ昇格させる」バッチ処理・画面は、解析済みのMENUT1/MENUB1/MENUZ1ソースからは見つかりませんでした。試作(JHKUGO=1)と号口(JHKUGO=9)はJHMPのフラグで区別される並行した受注体系であり、量産移行は「同じ品番に対して新たに号口の受注(JUD605が号口用の値)を起票する」という運用(別受注として起こす)である可能性が高いです 推測。指示形態コードの重なり(試作組付=21-29, 号口=51-69など)も、試作と号口が別体系であることを裏付けています。(出典: itjm38r.md:505, 未解明事項#3)
金型廃棄プロセス
廃棄は2段階の設計です:
- 通常保管の金型
ZSBS14(ITMD01R)の廃棄登録モード(F4)で、年度連番・廃棄日・持出先を入力するだけの単純フロー。 - 自動倉庫内の金型
ZSBS14からは「自動倉庫の金型の破棄は不可 7-23へ」と誘導され、ZSBS23(ITMD08R)のD=倉庫から削除モードを使う必要がある。 - 廃棄候補の洗い出し
ZSBS19(金型廃棄チェックリスト, ITMD05R)が、構成部品の最終受注納期が基準日より過去の金型を機械的にリストアップし、実際に廃棄するかどうかは人間が判断してZSBS14/23で処理する、というチェック→人手判断→実処理の2段構え。
自動倉庫保管金型廃棄対象抽出.xlsm のVBAコメントに判定基準が明記されています:
作成日から1年(号口品は5年)/最終出荷日から1年(同5年)/最終入庫日から1年(同5年)/
手入力の保管期限 — いずれか超過で廃棄候補。ほかに
アイシン精機金型廃棄リスト作成.xlsm(MJMPからアイシン納入実績分を抽出 —
得意先承認用と推測)、金型保管状況リスト2種、自動倉庫照会・
入庫リストの計6本のExcelレポート群が金型管理を支えます。マクロの変更履歴には
「13/07/24 KKMPとKGMPを統合してMDMPになった」という現行マスタの系譜も残っていました。
(出典: 金型管理/ 各マクロVBA変更履歴・処理概要)
(出典: screen-help.json:176-177, menuz1-open-questions.md:288-319)
試作品在庫変更履歴(ZLGP)の意義
ITTS34Rのような直接在庫数を書き換えられる強力な画面では必ずZLGPへ変更履歴を残す設計になっています。これは、通常の完成入力・出荷処理(ITTS11R/13R等)が自動計算で在庫を動かすのに対し、ITTS34Rは数量を手で上書きできてしまうため、後から「誰が・いつ・何を・いくつ変更したか」を追跡できるようにするための監査証跡と考えられます 推測(4名限定パスワード制限と組み合わせると妥当性が高い)。
実データスナップショット — 金型・工機・材料を実データで検証する
ここまでの記述は主にソースコード・仕様書に基づく調査結果です。以下は、AS/400実データをインポートしたPostgreSQL(読み取り専用)に対して実際にSQLを実行し、本ページの記述と突き合わせた結果です。テーブルごとにデータの「鮮度」が大きく異なることが分かりました — mdmp(金型管理マスター)は1984年〜2026年と長期の登録日を持つ一方、zlgp(試作品在庫変更履歴)は2024年〜2026年のわずか2.5年分しか残っていません。ログ系テーブルは長期保持されていない(ローテーション/保持期間の対象になっている)可能性があります。
金型資産管理(mdmp)の実態
| 指標 | 実測値 |
|---|---|
mdmp 総行数 | 9,527件 |
廃棄フラグ (mdcdhk='9') 件数 | 8,659件(90.9%) |
| 現役(廃棄フラグ以外の保管コード)件数 | 868件(9.1%) |
| 保管コード内訳 | 9(廃棄済)=8,659/S(自動倉庫)=396/K=200/H(東工場)=71/空白=67/Z=66/D=46/X=16/0=6 |
製作年月日(mddtss)の範囲 | 1984-02-28 〜 2026-06-24 |
itmd01r.md)上、廃棄登録はmdcdhk='9'とmddthk(廃棄日)を同時にセットする設計です。しかし実データでは、廃棄フラグが立っているのに廃棄日が0のまま(未設定)の行が375件、逆に廃棄フラグが立っていないのに廃棄日だけ入っている行が8件ありました。金型台帳の一部に、廃棄処理の片方のフィールドだけが更新される運用上のブレ(または移行時のデータ変換漏れ)があると考えられます。
型種マスター(tymp)— 「100-399=表面処理」を実データで検証
tympは121件で、コードは0〜999999の範囲に散らばっています。実際に100〜399番台のコードを開くと、以下のようにめっき・表面処理の色/工程バリエーションが並んでいました。
| tycdkt | tynmkt(型種名) |
|---|---|
| 100 | 1成形型 |
| 101 | TSH6500G-AC(黄8ミクロン) |
| 102 | TSH6500G-BC (黄) |
| 105 | TSH6500G-BE (黒) |
| 107 | TSH6500G-B (メッキのみ) |
| 121 | TSH6505G-A (クロム) |
100〜399番台は121件中45件(37.2%)を占め、内容は他ページ(outsourcing.html)が指摘する「TYCDKT 100〜399は表面処理用」という仮説と整合します。
kfdp(工機作業指示データ、5,438件)でkfcdkt(型種コード)を確認すると、5,434件(99.9%)が0=「指定なし」のままでした。実際に型種コードが入っていたのはわずか4件(コード10=成形型が2件、コード22=コイニング型が2件)で、100〜399番台(表面処理系)を参照している行は1件もありませんでした。型種マスターは設計上は参照される想定ですが、実運用の工機作業指示ではほとんど使われていない、という仕様と実態のギャップが見つかりました。
工機作業指示(kfdp)の年次推移
| 年(発行日 kfhisj) | 件数 |
|---|---|
| 2006〜2015(散発) | 7件 |
| 2020 | 624件 |
| 2021 | 969件 |
| 2022 | 960件 |
| 2023 | 638件 |
| 2024 | 784件 |
| 2025 | 891件 |
| 2026(〜6月時点) | 565件 |
区分(kfkusj)の内訳は S(設計/治具)=2,998件(55.1%)、K(工機)=2,438件(44.8%)でした。
kfdp5,438件のうちkfkusj='G'はわずか2件でした。号口金型発行という業務フロー自体は仕様として存在しますが、実運用ではBSBS01(工機区分 K/治具区分 S)が実質的にほぼ全件を占め、BSBS02/03経由の号口金型発行はごく稀にしか使われていない可能性があります。
試作品在庫変更履歴(zlgp)— 監査ログの実態
書き込みプログラム(zlnopg) | 件数 | 割合 |
|---|---|---|
| ITSS08R | 3,553件 | 25.6% |
| ITTS31R | 3,516件 | 25.3% |
| ITTS30R | 2,361件 | 17.0% |
| ITTS13R | 1,200件 | 8.6% |
| ITTS33R | 1,058件 | 7.6% |
| ITTS42R | 899件 | 6.5% |
| ITTS11R | 499件 | 3.6% |
| ITTS43R | 271件 | 2.0% |
| ITTS34R(§proto-inventoryで解説した4名限定の手動修正画面) | 119件 | 0.9% |
| ITTS32R/ITSJ07R/ITJU01R/ITKS13R/ITSS03R(その他) | 390件 | 2.8% |
ITSS08R(3,553件、25.6%)でしたが、このプログラムは本ページのMENUT1/MENUB1/MENUZ1解説には登場しません(ITSSプレフィックスは号口・組付系の別サブシステムに属すると考えられます)。§connectionsで触れた「ITTS系の命名空間が号口プログラムにも一部再利用されている」という指摘と符合しますが、ITSS08Rそのものの役割は本調査の範囲外です。
【ヒアリングで判明】2026-07-20メールで新實さんから、ITSS08RはMENUJ1のJSBS08(出荷ドメイン)における部品展開・在庫引当処理であり、試作品(受注区分2)の受注経路の「肝」にあたることが確認されました。試作在庫(ZLGP)への書き込みが最多を占めるのは、この位置づけと整合します。詳細はorder.html §7・shipping.html §2参照。(出典: 新實さん、2026-07-20メール、docs/feedback/analysis/2026-07-20-niimi-shijikeitai.md参照)
年次推移(登録日zlsymd)は2024年=2,280件、2025年=5,478件、2026年(〜6月)=6,121件で、実データは2024年以降の直近2.5年分しか残っていません。件数の推移も急増しており、2026年上半期だけで2024年通年を上回っています。フィールド別の変化率では、出庫数(zlotsu)が変化した行が9,956件(71.7%)と最多で、引当数(zlhasu系)変化が7,968件(57.4%)、現在庫数変化が7,454件(53.7%)、入庫数変化が2,393件(17.2%)、未入庫数変化が2,126件(15.3%)と続きます。§proto-inventoryで述べた「在庫を直接いじれる強い権限操作の証跡」という推測は、ITTS34Rの119件(全体の0.9%)に限れば裏付けられますが、ZLGP全体で見ると通常の入出庫処理(ITSS08R/ITTS30R/ITTS31R等)による自動記録が大半を占めることが実データで分かりました。
材料(zsmp/szmp)実データ
材質(szzisi) | 使用件数 |
|---|---|
| (空欄) | 3,153件(40.8%) |
| SPC980DU | 582件 |
| SPH590-OD | 348件 |
| SPH440-OD | 314件 |
| SPC980DU-T | 298件 |
| SPH270C-OD | 198件 |
| SPC440 | 153件 |
| SPC270C | 147件 |
| SCP | 130件 |
| SPC590 | 112件 |
zsmp材質マスターは材質・比重(zshiju)・単価(zstank)のみを持つシンプルなマスタ」と説明していますが、実データを確認するとzshiju・zstankは419件全件でゼロでした。物性値・単価フィールドはスキーマ上は存在するものの、実運用では一度も入力されていない(材質名だけが使われている)ことが実データで判明しました。
試作作業指示ログ・在庫・トヨタ紡織まとめ指示(sjlp/zkdp/kmdp)— データ考古学ブリーフより
以下の3テーブルは、以前は用途不明のまま存在していたが、今回のデータ考古学調査(schema.sql列コメント→edges.csv読み書きプログラム→specs→実データ)で正体が判明した。
| テーブル | 正体 | 行数 | 実データの姿 |
|---|---|---|---|
sjlp 製造指示データ指示書発行ログ | 試作作業指示書の発行イベント監査ログ(1発行=1行)。TSBS03→ITSJ81RがSJDPの未発行行を抽出・発行フラグを立てると同時にSJLPへ1行書く。 | 37,290 | 発行日(l1hahi)は2010-07-13〜2026-06-29の16年連続で現役。指示区分(l1kusj)は1=13,504件・2=14,524件・3=9,262件の3値のみ。 |
zkdp 試作品在庫データ | 試作品専用の在庫マスタ(キー=品番+在庫区分)。ITKM13R(組付部品再引当)の引当先、およびITQZKDPA(試作品滞留在庫リスト、MENUT2 opt43)の元データという二重の役割を持つ。 | 567 | 設定日(zksymd)は2008-01-23〜2026-06-29で連続稼働。在庫区分(zkkuzk)はB(215件)・J(352件)の2値のみで、コード自体の正式な意味は未確認(未解明事項参照)。 |
kmdp 組付品まとめ指示データ データ停止 | 「まとめ指示」(BJD601=31)専用のJUDP双子。ITKM12/13/15/16/17Rの5本立てで管理され、ITKM17Rのヘッダーコメントいわく「処理内容はITSS02Rと同じ。対象ファイルがJUDPとKMDPの違い」。 | 378 | 得意先コード(kmcdtk)は5000=トヨタ紡織のみ、担当班(kmcdth)も3のみ——単一得意先・単一班専用と数値で裏付けられる。受注日(kmjuhi)は2021-12-02〜2022-08-09に完全に収まり、以降の追加がない。 |
pilot/app/src/menut1/(protoShortageInquiry/protoStockStatusChange/protoMatomeIssue/protoCompletionMatome)とmenua1/(matomePartPrepStatusInquiry/matomeInstructionInquiry)の両方に実装済みでコードは広く現役維持されているが、実データの受注日は2022-08-09が最後。docs/feedback/hearing/2026-07-29-niimi-hearing-sheet.md参照)
集計に使ったSQL
-- 金型資産管理(mdmp) SELECT count(*) total, count(*) FILTER (WHERE mdcdhk='9') haiki, count(*) FILTER (WHERE mdcdhk<>'9') active FROM mdmp; SELECT mdcdhk, count(*) FROM mdmp GROUP BY mdcdhk ORDER BY 2 DESC; SELECT min(mddtss) FILTER (WHERE mddtss>0), max(mddtss) FILTER (WHERE mddtss>0) FROM mdmp; SELECT count(*) FILTER (WHERE mdcdhk='9' AND (mddthk IS NULL OR mddthk=0)) haiki_no_date, count(*) FILTER (WHERE mdcdhk<>'9' AND mddthk<>0) active_has_date FROM mdmp; -- 型種マスター(tymp) / 100-399検証 SELECT count(*), min(tycdkt), max(tycdkt) FROM tymp; SELECT CASE WHEN tycdkt BETWEEN 100 AND 399 THEN '100-399' ELSE 'other' END, count(*) FROM tymp GROUP BY 1; SELECT trim(tynmkt), tycdkt FROM tymp WHERE tycdkt BETWEEN 100 AND 399 ORDER BY tycdkt; -- kfdp × tymp 実利用状況 SELECT kfcdkt, trim(t.tynmkt), count(*) FROM kfdp k LEFT JOIN tymp t ON t.tycdkt=k.kfcdkt GROUP BY kfcdkt, t.tynmkt ORDER BY count(*) DESC; SELECT CASE WHEN kfcdkt BETWEEN 100 AND 399 THEN '100-399' ELSE 'other' END, count(*) FROM kfdp GROUP BY 1; -- kfdp 年次推移・区分 SELECT count(*) FROM kfdp; SELECT substr(kfhisj::text,1,4) yr, count(*) FROM kfdp WHERE kfhisj>0 GROUP BY 1 ORDER BY 1; SELECT kfkusj, count(*) FROM kfdp GROUP BY 1 ORDER BY 2 DESC; -- zlgp 監査ログ SELECT count(*) FROM zlgp; SELECT trim(zlnopg), count(*) FROM zlgp GROUP BY 1 ORDER BY 2 DESC; SELECT substr(zlsymd::text,1,4) yr, count(*) FROM zlgp WHERE zlsymd>0 GROUP BY 1 ORDER BY 1; SELECT count(*) FILTER (WHERE zlinsu<>0) insu_nonzero, count(*) FILTER (WHERE zlotsu<>0) otsu_nonzero, count(*) FILTER (WHERE zlzasb<>zlzasa) zasu_changed, count(*) FILTER (WHERE zlhasb<>zlhasa) hasu_changed, count(*) FILTER (WHERE zlmnsb<>zlmnsa) mnsu_changed FROM zlgp; -- rnmp 実在性検証 SELECT count(*) FROM rnmp; SELECT count(*) FILTER (WHERE trim(rnhnbj)<>''), count(*) FILTER (WHERE rnd011<>0 OR rnd012<>0 OR rnd013<>0 OR rnd014<>0 OR rnd015<>0), count(*) FILTER (WHERE rnd061<>0 OR rnd062<>0), count(*) FILTER (WHERE rnd081<>0 OR rnd082<>0) FROM rnmp; SELECT count(*) FROM rnmp r WHERE EXISTS (SELECT 1 FROM jhmp j WHERE trim(j.jhbnhn)=trim(r.rnhnbj)); SELECT min(rnnort), max(rnnort), count(distinct rnnort) FROM rnmp; -- 材料(zsmp/szmp) SELECT count(*) FROM szmp; SELECT count(*) FROM zsmp; SELECT count(distinct sznohn) FROM szmp; SELECT trim(s.szzisi), count(*) cnt, avg(z.zshiju), avg(z.zstank) FROM szmp s LEFT JOIN zsmp z ON trim(z.zszisi)=trim(s.szzisi) GROUP BY trim(s.szzisi) ORDER BY cnt DESC LIMIT 10; SELECT count(*) FILTER (WHERE zshiju<>0), count(*) FILTER (WHERE zstank<>0), count(*) FROM zsmp; -- sjlp/zkdp/kmdp(データ考古学ブリーフ) SELECT count(*), min(l1hahi) FILTER (WHERE l1hahi>0), max(l1hahi) FROM sjlp; SELECT l1kusj, count(*) FROM sjlp GROUP BY 1 ORDER BY 1; SELECT count(*), min(zksymd) FILTER (WHERE zksymd>0), max(zksymd) FROM zkdp; SELECT zkkuzk, count(*) FROM zkdp GROUP BY 1; SELECT count(*), min(kmjuhi) FILTER (WHERE kmjuhi>0), max(kmjuhi) FROM kmdp; SELECT DISTINCT kmcdtk, kmcdth FROM kmdp;
関連マスタ・帳票
主要テーブル一覧
| テーブル | 役割 | 主キー | サブシステム |
|---|---|---|---|
sjdp 製造指示データ | 試作の作業指示本体 | sjnojt(受注№) | 試作 |
sjdpq2 製造指示データTO PC | 指示変更ログ(PC転送用ステージング) | 非UNIQUE | 試作 |
sjlp 製造指示データ指示書発行ログ | SJDPの作業指示書発行イベント監査ログ(1発行=1行、37,290件) | 複合(l1nojt+l1hahi) | 試作 |
zkdp 試作品在庫データ | 試作品の在庫(J=単品出荷用/B=組付用) | zkhnbn+zkkuzk | 試作 |
kmdp 組付品まとめ指示データ データ停止 | 試作組付「まとめ指示」専用の受注データ双子(トヨタ紡織・担当班3専用、378件)。機能は生きているがデータは2022年8月で停止 — 品質課の要請による業務廃止と判明(hearing.html C6) | kmnoju(受注№) | 試作/組付境界 |
zlgp 試作品在庫データ変更履歴 | 在庫直接修正の監査ログ | — | 試作 |
bjdp 部品状況ファイル | 組付部品ごとの必要数・引当数 | 複合 | 試作/組付 |
kfdp 工機作業指示データ | 金型・治具の作業指示本体 | kfnorc(採番) | 工機 |
kfdpp1 工機作業指示 Excel印刷ステージング | 印刷直前の展開データ | — | 工機 |
mdmp 金型管理マスター | 金型1本=1資産レコード | mdnorb(年度連番) | 金型 |
mjmp 金型管理マスター受注品番展開 | ZSBS26用の一時ワークテーブル | mjnorb | 金型 |
tymp 型種マスター | 金型の型式カテゴリ | tycdkt | 金型 |
tbmp 棚番管理マスター | 自動倉庫の棚ごとの使用状況 | tbcdhk+tbnotn | 金型/自動倉庫 |
zsmp 材質マスター | 材質の物性(比重・単価) | zszisi | 材料 |
szmp 使用材料マスター | 受注品番×材質×板厚の組み合わせ | sznohn+szzisi+szitat | 材料 |
rnmp ロット№マスター 特殊 | 材料トレーサビリティ用(大半が未使用予備列) | rnnort 推測 | 材料 |
nkmp 采番マスタ | 各種番号(工機採番等)のカウンタ | nkyymm | 共通 |
(出典: analysis/out/masters_registry.json, menub1-reuse-map.md:156-173, menuz1-schema-delta.md)
帳票一覧(主なもの)
| 帳票 | 発行元 | 状態 |
|---|---|---|
| 試作作業指示書/品質チェックシート/仮出庫指示書 | TSBS03(BAT1003/1003A) | DEFER-LOUD |
| 試作作業指示書(再発行) | TSBS08 | DEFER-LOUD |
| 入庫指示書 | TSBS11(BAT1011) | DEFER-LOUD |
| 出荷指示書(検査用) | TSBS12/13(BAT0109) | DEFER-LOUD |
| 試作品滞留在庫リスト | TSBS43(ITQZKDPA, QPRINT同期印刷) | 帳票あり、要ポート |
| 金型・治具作業指示書(新規/号口/再発行) | BSBS01-04(BAT1101) | DEFER-LOUD |
| 金型・治具作業指示書(手入力) | BSBS05(BAT1105.XLSM) | Excelマクロ、移植対象外 |
| 登録材質一覧 | ZSBS05(QUERY/400 LTZISITU) | Web版はJSON化推奨 |
| 材料別使用品番一覧 | ZSBS06(QUERY/400 LTZAIRYO) | Web版はJSON化推奨 |
| 金型管理台帳 | ZSBS17(ITMD03R, QPRINT 132桁) | DEFER-LOUD |
| 金型廃棄チェックリスト | ZSBS19(ITMD05R, QPRINT 198桁) | DEFER-LOUD |
| 金型管理マスター更新(Excel出力) | ZSBS26(BAT0726) | ZSBS26画面印刷は未実装/MDMP-MJMPコピーは別スケジュールジョブで稼働中 |
(出典: tsbs43c.md, menub1-reuse-map.md, menuz1-open-questions.md:249-324)
用語集
- 試作№
- 顧客からの試作ロット注文を識別する管理番号
- 号口
- 量産品(試作の対義語)。JHKUGO=9で判定
- 指示形態 (JUD605)
- 受注の性質を表すコード。11-19=試作単品出荷品/21-29=試作組付部品/30-31=組付まとめ指示
- 指示区分 (SJKUSJ)
- 製造指示の種類。1=単品出荷品/2=組付部品/3=号口品
- 終了区分 (SJKUFX)
- 作業指示の完了フラグ。0=未完了/9=完了
- 依頼区分 (SJKUIR)
- 指示計算後の確定状態を示すフラグ。'A'=確定済み
- 仮出庫
- 完成入力前に材料・部品を先出しする処理。SJD063等で管理
- 仕掛日 (SJHIKK)
- 作業開始予定日。TSBS05で一括設定
- 依頼区分確認 (ITTS53R)
- 指示数計算パイプラインの最終ステップで依頼区分を'A'へ確定させる処理
- 出来高
- 完成入力で報告する実際の完成数量
- 打切
- 出来高が指示数に届かない状態で完成入力を確定すること
- 余剰
- 完成数のうち、割り当て済み数量を超えた分(在庫へ戻す)
- 工機課
- 金型・治具の社内製作を担当する部署
- 金型・治具作業指示書
- 工機課への金型/治具製作依頼書
- 号口金型
- 量産品向けの金型(KFDP.kfkusj='G')
- 型種 (tymp)
- 金型の型式カテゴリを表すマスタ
- 金型管理№ (mdnocd)
- 同一品番内で金型を区別する連番
- 年度連番 (mdnorb)
- 金型を一意に識別する年度+通し番号(6桁、YYMMNNで世紀情報を切り捨てる仕様)
- 保管コード (mdcdhk)
- 金型の保管場所種別。'S'=自動倉庫/'X'未設定/'H'東工場等
- 自動倉庫
- 金型を収納する立体倉庫設備。棚番(tbmp)で管理
- 棚番
- 自動倉庫内の保管位置(例: 1-01-01形式)
- 廃棄チェックリスト
- 構成部品の最終受注納期を元に廃棄候補金型を洗い出す帳票
- 材質 (zsmp)
- 材料の種類(比重・単価を持つ)
- 板厚
- 材料の厚み
- 使用材料 (szmp)
- 受注品番×材質×板厚の組み合わせマスタ
- 材料区分
- 材料の調達区分コード(szkuzi)
- 受注残
- まだ出荷・完成していない受注数量
- ロット№ (rnmp)
- 材料トレーサビリティ用の番号(多くの列が未使用)
- ZLGP
- 試作品在庫データ変更履歴(監査ログ)
- ZKDP
- 試作品在庫データ(在庫区分J=単品出荷用/B=組付用)
他業務との接続点
- 受注 (MENUJ1系) — 試作の受注データそのものは
JUDPにあり、試作管理(MENUT1)はこの受注データを起点にSJDPの作業指示を生成します。JHMPのJHKUGOフラグが試作/号口を判定するため、受注入力時点で既にどちらの体系かが決まっています。(出典: itts71r.md等) - 号口 (MENUW1系) — 号口向けの金型(BSBS02/03の「号口金型」)は、工機管理から見ると試作向け金型と同じ
KFDPテーブル・同じ工機課ワークフローに乗りますが、区分コード('G')で区別されます。号口品自体の完成入力(WSBS11=ITTS15R)は本ページの範囲外(MENUW1)ですが、ITTS15R/16Rという命名から試作(ITTS)ライブラリの命名空間が号口プログラムにも一部再利用されていることが確認できます(実際の呼び出し元はWSBS11/WSBS12というMENUW1のCLラッパー)。(出典: itts15r.md, itts16r.md) - 外製 — 金型製作を社外の型屋へ外注するケースは、BSBS05の「手入力」パスやBJDP.BJCDNG(内外コード, '9 '=外注)等のフィールドから存在が示唆されていましたが、【ヒアリングで判明】新實さんにより「金型を外注したことはありません」と明確に否定されました——プレス部品の外注時に金型を伴うケースはあっても別途管理はしておらず、外注専用の金型発注画面がMENUB1に見当たらないのは調査漏れではなく実際に存在しないためと確定しました。(出典: 新實さん、2026-07-23ヒアリングシート回答D、
docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照) - 経理 (MENUR1系) — 【ヒアリングで判明】MDMPに金額・償却関連フィールドが存在しないのは、金型がすべて客先所有の資産であり板倉製作所側に資産計上・償却の対象がそもそも存在しないためと確定しました(詳細は§金型資産管理参照)。
- 技術情報 (MENUK1/K2系) — 「試作№・伝票№入力・変更」や部品構成(KSMP)の親子関係照会など、試作の技術情報管理はMENUK系と密接に連携しています。工機管理・材料管理の多くの画面もKSMP(構成マスター)を参照する点で技術情報管理と接続しています。(出典: screen-help.json:1309)
TSBS01Cの(出典: tsbs01c.md:41-56)MONMSG MSGID(CPF0000)が全エラーを握りつぶすため、指示数計算パイプラインの一部が失敗しても後続処理が継続する。本番でこれが実際に問題を起こしているかは未確認。
【ヒアリングで判明・未解決】新實さんご自身はこの握りつぶしについて認識がなく、実害の有無を判断できる立場になかった——営業部・製作部等への追加確認が必要と回答があった。hearing.html D1参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)TSBS06(ITTS22R)のKENSUカウンタが常に0のままで、(出典: itts22r.md:165、source/work-procedures/作業手順書/(E) 受注状況の変更/、source/dev-archive/20260512_仮出庫指示書発行不具合調査/)BAT1006(仮出庫指示取消連絡)が実質的に一度も呼ばれていない可能性がある。KENSU自体の真偽は依然未確認だが、上記コールアウトの通り、もし実在するなら日常的な中止操作のたびに毎回起きる規模の問題であり、かつ実在庫の数字自体はITTS13Rの独立再引当で保護されている(被害は伝達漏れであり在庫破損ではない)ことが実資料で分かった。
【完全解決】新實さん自身がこのバグの実在を直接確認し、既に修正済みであることが判明した——「ITTS22Rで『仮出庫指示取消連絡』がされないバグを確認しました。修正しました」。トラブル報告の記憶はなく、実害は現場レベルで対応・吸収されていた可能性が高い。この修正は移行元AS/400側で行われたものであり、移行版はソース再取得時に修正後の挙動を忠実に再現する必要がある。hearing.html D1参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)- 試作→号口への「移行」処理が見つからない。同一品番に対して試作受注と号口受注がそれぞれ独立に起票される運用なのか、何らかの引き継ぎ処理があるのかは未確認。
金型の資産評価・償却・顧客請求の仕組みが見当たらない。mdmpに金額項目が無く、決定ログにも関連する記載が見つからなかった。会計処理が完全に別系統(手作業/別システム)である可能性が高いが未確認。
【完全解決】金型はすべて客先所有の資産であり、板倉製作所側に資産計上・償却の対象がそもそも存在しないため会計処理も存在しない、と確定した。詳細は§金型資産管理参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)rnmp(ロット№マスター)の実際の更新経路が未確認 実データで一部解明。解析済みのMENUT1/MENUB1/MENUZ1プログラム群からは直接の読み書きが見当たらず、マスタ保守サブシステム(MENUM系)経由のみと推測される。実データ照会により、rnmpが空データやダミーではなく、jhmpと99.0%の高率でリンクする実際に稼働中の生きたデータであることは確認できた(実データスナップショット参照)。ただし書き込み元プログラムそのものの特定はまだ未確認。
【ヒアリングで大筋解決】ロット№はWSBS04が\\Server2\Kanri\AS400設定\Dekidaka配下で号口出来高報告書を印刷する際に、AS400側で品番+連番データを作成しExcel経由で印刷する形で採番されることが判明した。ただし発行依頼の起点(営業部か製造か)は新實さん自身「要実際確認」と留保しており、現場での追加確認が必要。hearing.html D4参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)材料管理・工機課管理のExcel/VBAサテライトジョブの詳細内容は未解析【実VBAで解明】全ユニークマクロを解読済み — 材料管理はコイル材購買の独立Excelシステム(§材料管理)、工機課管理は工具鋼購買の「影の購買システム」(§工機Excelジョブ)、金型・治具作業指示書の印刷実体はKFDPP1.xls経由のマクロと判明。新たな論点: この2系統の購買はAS/400(SFDP/MENUG1)に載らない — 支払時にSHDP種別2(材料)/3(工具)へ経理が何を見て入力しているかが新規の確認事項。
【ヒアリングで判明】この2系統の購買とSHDP入力の間に自動的な連携は一切なく、設計材料発注書.xlsm等は発注・入荷管理のみを担い、経理入力(請求金額入力.xlsx経由でSHDP種別2/3へ)とはシステム的に接続されていない——新實さんが請求書の内容と発注の内容を手作業で突合し、その結果を手入力している。詳細はhearing.html D5 / finance.html §5参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)- ITMD09R/ITMD10R/BAT0726(ZSBS26パイプライン)の詳細仕様は未作成("specs TBD" と明記されている)。保管期限再計算の具体的な計算式は未確認。
【一部解明】BAT0726自体はBATCH00呼び出しの3行CLと確認済み(§ZSBS26参照)だが、BAT0726.XLSM本体は未収録のため保管期限の実計算式は依然未確認。
【ヒアリングで大筋解決】新實さんの回答は「同じ設定でよいと思うが、あくまでも廃棄候補をリストするための目安。客先で異なるルールがあり、営業部に確認してください」——VBAで見つかった「1年(号口5年)」ルールとおおむね同じである可能性は高いが確証ではなく、客先ごとの例外は営業部への確認待ちの残件。hearing.html D4参照。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照) 外注金型(型屋への外部発注)専用の画面がMENUB1内に見当たらない。BJDP内外コード'9 '(外注)等の周辺データはあるが、発注ワークフローそのものは未確認。
【完全解決】「金型を外注したことはありません」と明確に否定された——専用画面が見当たらないのは調査漏れではなく、そもそもこの業務が存在しないため。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)zkdp(試作品在庫データ)の在庫区分(出典: データ考古学ブリーフ§3-7)zkkuzkの意味 — B(215件)とJ(352件)の2値しかなく、列コメントにも仕様書にも意味の説明が見つからなかった。B/Jの正式な意味(例:B=部品/J=治具、あるいはB=本社/J=事業所等)を憶えているか?分かればscreen-help.jsonグロッサリーに追記できる。
【完全解決】B=試作の組付部品、J=試作の単品出荷品と確定した。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)sjlp(試作作業指示書発行ログ)の指示区分(出典: データ考古学ブリーフ§3-8)l1kusjの意味 — 1(13,504件)・2(14,524件)・3(9,262件)の3値のみで、列コメントは「指示区分」とだけありコード値の意味がない。「新規/再発行/変更」のような区分だとすれば、それぞれの正式名称を知っているか?(不明なら(推測)のまま画面ヘルプに載せず保留)
【完全解決、かつ新発見】1=単品出荷品用(試作品)、2=組付部品用(試作品)、3=号口品用/号口出荷品用と確定(「新規/再発行/変更」という仮説は外れ)。さらに、実データ調査が把握していなかった4番目の値(4=号口組付用)が実在することも新たに判明した——実データでは1〜3の3値しか観測されていなかったが、コードの取りうる範囲自体はそれより広い。移行版のコード表・screen-help.json反映時は、sjlpの生データで4の出現有無を再確認する価値がある。(出典: 新實さん、2026-07-23ヒアリングシート回答D、docs/feedback/hearing/2026-07-23-niimi-hearing-sheet-D.md参照)kmdp(組付品まとめ指示データ)の「まとめ指示」停止理由 — 得意先5000(トヨタ紡織)・担当班3のみで、受注日は2021-12-02〜2022-08-09に限られる。関連プログラム(ITKM12/13/15/16/17R)はコードとして広く現役維持されているが、①「まとめ指示」扱いの試作組付発注は2022年8月頃を最後に発生していない(種別自体が廃止された)②単に発生頻度が非常に低いだけで今も生きている仕組み、のどちらか?(出典: データ考古学ブリーフ§3-3)
【実質解決】①が正解と確定した——「まとめ指示」は営業部からの依頼で作成されたが、品質課が営業部にやめてほしいと依頼し、使用されなくなった業務廃止であり、種別自体が廃止された。品質課が中止を求めた具体的な理由自体は品質課への確認事項として残るが、参考情報にとどまり移行スコープには影響しない。hearing.html C6参照。(出典: 新實さん、2026-07-29ヒアリングシート回答、docs/feedback/hearing/2026-07-29-niimi-hearing-sheet.md参照)