見出し画像

”なんちゃって‼ 生産管理プログラム” を作る 6の①--受注・生産引当て(ver1j以降適用)


前書き

“なんちゃって‼生産管理プログラム” を趣味で作ってます。
その【考え方】と 【Accessで作成】 の記事です。
素人なので、間違っているところも多いと思いますが、
『こういう考えの人もいるんだな』って感じで読んでください。
(上級者の方には、多分 参考にならないと思いますが・・)
※ACCESSのプログラムは、作成方法の記事を読む参考として使うため、
 プログラム内容と処理結果は保証できません。
※ACCESSのソフトとして、まずは動作しないと、ブログ記事の内容が
 うまく説明できないので、必ず動作するか、ご確認ください。
 動作しない、またはエラーが出る場合は、それをご理解の上、
 記事だけでも御覧ください。
〈エラーが出る対処法の参考にしてください
 → ”なんちゃって‼ 生産管理プログラム” を作る 2--準備と起動】

製品の受注・生産引当について

①目的について、

 製品について、
 受注(所要)に対して、製品在庫と既存の生産計画(製番計画) を、
 引き当て比較し、状況の確認をします。
 受注と製番計画は紐付きではないので、製番台数や、計画日の変更も選択
 肢の一つです。不足の場合は製番計画を追加立案します。
 (場合により顧客と納期調整も必要となります)
 比較する内容は、下記2項目とします。
 ● 製品の所要日 = (受注納期-到着日数-出荷段取り日数)と、製番計画の
  完了計画日を比較する。
 ● 製品の受注数量と製番計画の計画数を過不足計算して比較する。

 半製品について、
 半製品所要に対して、半製品在庫と既存の半製品の生産計画(半製品製番)
 を、引き当て比較し、状況の確認をします。
 半製品所要と半製品製番は紐付きではないので、既存の半製品製番の台数
 変更や計画日の変更も選択肢の一つです。不足の場合は半製品の製番計画
 を追加立案します。
 比較する内容は、下記2項目とします。
 ● 半製品の所要日 = (製品の構成部品として生産に必要な所要日)と、
  半製品の製番計画の完了計画日を比較する。
 ● 半製品の所要数量と半製品の製番計画の計画数を過不足計算して比較
  する。
 ※以降、製品と半製品を含めて、製品と記述します。

②運用方法について、 

 製品keyと代表key

 (以前の記事 ❝4の⑤--製品情報登録❞ を参照)
 製品key ごとに所要と引き当て計算をします。但し、コンパチブルの製品
 は、代表keyに集約計算して、引き当て計算をします。
 受注(所要)と製番計画は、紐付けはしません。
 同一代表keyに対し、複数顧客からの受注(所要)を集計し、製品在庫および
 製番計画は生産する全拠点分を合算して引き当ての計算をします。
 また、特定顧客からのOEM受注生産のような場合は、標準製品のkeyとは
 別に、専用の製品keyを取得し別製品として対処をします。 

 製品版数(製品Rev)

 (以前の記事 ❝5の➁--製品Rev管理❞ を参照)
 同一製品keyにも、版数(製品Rev)が複数存在します。理由は、マイナーな
 設計仕様変更や構成部品の変更などで、製品仕様がコンパチブルだが、
 識別が必要な場合の管理方法です。もしも、版数(製品Rev)ごとに製品
 key(製品名も)を変えてしまうと、受注した時の製品のkeyと引き当てする
 製品のkeyは乖離して、引き当て計算が狂ってしまいます。
 製品keyを変えても、代表keyを同一として登録すれば引き当ては可能です
 が、トレサビリティの管理を考えると、同一製品名、同一keyで、Rev1・
 2・3・・・として管理するほうが新旧も判りやすい 一般的な方法です。
 もしも、メジャーな設計変更で、従来品と仕様がコンパチで無いとか、
 従来品と製品受注価格が大きく異なる場合は、別製品(別key)として製品登
 録をするべきと考えます。
 このプログラムでは、上記理由で製品に版数(製品Rev)を持たせ受注(所要)
 の製品keyと引き当て計算する方法としています。 

 計算方法

 所要データに対し引き当てデータを比較計算させます。
 過不足計算して比較するときは、引当てデータはプラス、
 所要データはマイナスに変換して計算します。

 引当てデータ

 比較計算は日時順ですが、加えて下記 ❝工程コード❞ の優先度があり
 ます。製品、半製品ともに同じ処理です。計算では、数を ❝プラス❞ 
 として計算します。所要に対し引き当てが多ければ過剰を意味します。
 
 1、"①在庫"
   計算上の日時は本日の00:00:00 とします。
   一般には、【倉入記録】と【出荷記録】のテーブルの差数を全レコー
   ド合計で求めると思いますが、このプログラムでの現時点の在庫数を
   決定する方法は、【倉入記録】テーブルから求めています。
   方法は、製品出荷の処理をするときに、
   a: 出荷する受注番号を決定
   【製品受注マスタ】テーブルの受注データの受注残数を減らす予約
    をします。
   b: 複数の保管場所の在庫から出荷対象とする在庫を指定
   【倉入記録】テーブルから、出荷対象とするレコードの在庫数を減ら
    す処理の予約をします。その結果として、保管棚番別の残数計が
    棚番別の現時点在庫になります。
    〔倉入れデータは、トレサビリティを目的として、製品1台ごとに
    シリアル番号の付与が可能で、その場合は1台ごとのレコード登録
    となります。出荷記録からも、どのシリアル番号が、どの製番で生
    産され、どこに保管し、どの受注分に出荷したかが判ります。〕
   c: 出荷記録に履歴を残す予約をします。
    【出荷記録】テーブルに、
     ・【製品受注マスタ】テーブルの処理する ❝ID❞の番号と
       ❝数量❞。
     ・【倉入記録】テーブルの処理する ❝ID❞の番号 と❝数量❞。
   トランザクション処理なので、最後に同時処理完了まで、各テーブル
   データはロックが掛かります。
   また、棚卸等の減耗は、【倉入記録】テーブルの指定したレコード
   データから受注番号無しで処理をします。
      
 2、⑦生産開始
   計画確定の製番かつ、生産途中の製番の残数。(未完了分) 
   日時が過去の場合、画面表示はそのままですが計算上は本日の
   00:00:01 の引き当て日時として扱います。(以下3、4、5 も同様)

 3、⑧生産計画
   確定製番かつ、生産未投入の製番台数。

    4、⑨生産予定
   未確定の製番の製番台数。

    5、⑩生産予測 
   【シミュレーションモード】で適用となります。
   別画面の “受注・生産予測” で登録した生産予想の台数です。
   ❝製品生産計画❞ テーブルの日付を計算に使います。
   但し、ログインしたユーザーの登録データかつ、適用に☑の有る
   予測データのみ適用です。
   詳しくは、別記事の 5の⑦--受注・生産 予測 を参照ください。
  

 所要データ

 比較計算は日時順ですが、加えて下記 ❝工程コード❞ の優先度があり
 ます。過不足計算して比較するときは、所要データはマイナスに変換して
 計算します。

 1、②安全在庫
   製品keyに対し生産拠点に関係無く1つだけ設定します。
   コンパチブルで、同じ代表keyの他製品にも安全在庫数が
   登録されていれば所要データとして計算対象となります。     
   比較計算の時の所要日時は、常に本日の00:00:00とします。

 2、③自社所要
   MRPでは、製番計画を登録すると、必要部材所要に展開されます。
   その中に❝半製品❞ が存在する場合、半製品の手配が必要になります。
   一般の購入部材は、ベンダーに対して部品発注となりますが、半製品
   は、自社生産の為、半製品の製番を登録します。この時の所要データ
   を ❝③自社所要❞ (製品の場合の受注数) として計算します。
   過去納期の場合、表示はそのままですが計算上は本日の00:00:01
   の所要日として扱います。(以下3、4、5 も同様) 
  
 3、④受注確定 
   a: 受注確定データの残数を使います。
   b: 所要日 は、❝指定納期❞(顧客指定の到着日時) を使うのでは無く、
    倉庫からの ❝出荷日時❞ - ❝出荷段取り日数❞(1日) で算出した日時
    を計算に使います。理由は、製番の生産完了日時と比較計算を可能
    にする為です。
    ❝出荷日時❞ は、❝製品受注マスタ❞ テーブルに受注登録する際、
    ❝指定納期❞ と合わせて顧客への到着日数を差し引いた ❝出荷日時❞
    をデータ登録しておきます。
    詳しくは、別記事の 5の⑥--製品受注情報登録 を参照ください。
    (下記 4 も同じです。)
 
 4、➄受注引合 
   未確定受注、フォーキャストなどです。
 
 5、➅受注予測 (シミュレーションモードに切り替えると適用となります) 
   別画面の “受注・生産予測” で登録した受注予想のデータです。
   ❝製品受注計画❞ テーブルの所要日を計算に使います。
   但し、ログインしたユーザーの登録データかつ、適用に☑の有る
   予測データのみ適用です。
   予測の段階では、顧客未定や納入場所未定の所要分もあるため、
   全ての所要日は、到着日数は考慮しない倉庫出荷日レベルです。
   詳しくは、別記事の 5の⑦--受注・生産 予測 を参照ください。

 所要と引き当ての表示方法

  計算結果の画面表示は2種類です。それぞれに、引き当て計算のアルゴ
  リズムが違います。
   ●製品所要と引き当ての累計表示 
    単純な時系列の過不足(プラス・マイナス)表示です。
    (操作画面の表示ボタンには、【上下表示】としました。)
   ●製品所要と引き当てを左右で比較表示
    左右の数量バランスの状況を表示します。時系列は無視。
    (操作画面の表示ボタンには、【左右表示】としました。) 


狭い庭の 小さい池を眺めて・・ひと休み  

小さい池を作り直し。
以前の小さいプラスチックの池は、画面左の四つの
コンクリートブロックに乗る大きさだった。

③操作方法

 処理画面

 メインメニュー → [製品情報] ボタン → [製品情報] 画面 
   → [受注・生産引当] ボタン → “受注・生産引当” 画面 

 作業方法

  操作① "表示切替⇒モード切替"

   ボタンで、処理するモードの切り替えをします。
   ●【受注引当モード】---受注と生産計画のデータで計算します。    
   ●【受注予測引当モード】---上記データに、受注予測と生産予測の
    計画データを加算する、年間シミュレーションモードです。
    加算するシミュレーションのデータは、ログインユーザが登録
    した中の適用フィールドに☑のあるものだけが適用されます。

     シミュレーション計算の予想データは、“受注・生産予測” 画面で
    登録します。(以前の記事 ❝5の⑦--受注・生産予測❞ を参照)

 ※今回は、 “シミュレーションモード” で、 操作を進めます。

  操作➁ "製品名の検索方法"

 引当状況を表示する製品名の検索方法は、2つあります。
 ・検索方法1  “手順1a   品名検索”
   製品名の頭文字絞り込み検索をします。(ダブルクリックで全件表示)
  条件に該当する製品名が一覧表に表示されます。
  この中から、所要引当計算させる製品名をクリック選択します。

頭文字検索で ❝m❞ を指定後、一覧表から製品名を選択。

 ・検索方法2  “手順1b  過不足アラームリスト選択”
  【条件切替え】ボタンで、一覧表示を切り替えます。    
   ❝過剰表示❞ ⇒理論在庫が製品別に登録した❝生産ロット数❞ を
          上回る余剰が、翌日までに消費されないデータを
          表示。同じ製品でも、日時が異なれば複数表示。
          ただし、過去日付分は表示しない。
   ❝不足表示❞ ⇒理論在庫が不足となる情報で、日付順に過去日付分も
          含めて表示。
  この中から、所要引当て計算させる製品名をクリック選択します。

ボタンから、不足表示を選択後、一覧表から製品名を選択。
今回は、代表製品KEYが ❝5❞ の品名 MG-B を選択します。 

  操作➂ "手順2引当状況"

  表示する方法は2つあり、❝表示切替⇒❞ ボタンで切替えします。

  ●【上下 (所要はマイナス)】の表示切替。
   所要に対する引当の過不足の確認が目的です。
   データの計算は、日時順かつ、下記の順番で過不足の累計計算をし
   ます。
   "①在庫" プラス値とし、計算上の日時は本日の00:00:00。(最小日時)
    "分類"は、'在庫' で、"計画名"は、保管棚番名 を表示。
   "②安全在庫" マイナス値とし、計算上の日時は本日の00:00:00。
    "分類"は、'所要' で、"計画名"は、'安全在庫' の表示。
   "③自社所要" マイナス値とします。過去日は、上記より後の計算順
    となる様に、本日の00:00:01とします。
     (以下も、過去日は、本日の00:00:01)
   "④受注確定" マイナス値とします。
   "➄受注引合" マイナス値とします。
   "➅受注予測" マイナス値とします。
   "⑦生産開始" プラス値とします。
   "⑧生産計画" プラス値とします。
   "⑨生産予定" プラス値とします。
   "⑩生産予測" プラス値とします。

   表の中で、生産関係の "⑦生産開始"、"⑧生産計画"、"⑨生産予定"
   "⑩生産予測" をクリックすると製番の詳細データが表示されます。
   例として、"手順2引当状況"の表から、計画名(製番)"a-0004引当" を
   クリックすると、"手順3.引当計画" 欄に、製番の詳細情報が表示され
   ます。 表示された製番データは、生産進捗に応じて【追加】、【変
   更】、【削除】が可能です。

  ●【左右表示】の表示切替。 
   所要に対する引当の時系列のタイミングの状況がわかります。
   引き当て数量は問題ない場合でも、日時の妥当性の確認が目的です。
   計算する順番は、上下の表示方法と同じですが、比較方法と表示方法
   が異なります。表示方法は、"所要分" データが左側、 "引当分" データ
   を右側に分離し、左右のバランスを時系列で比較します。そのため、
   全工程のデータの値は、プラス値で計算します。

   上下表示と同様、表中で生産関係の "⑦生産開始"、"⑧生産計画"
   、"⑨生産予定"、"⑩生産予測" をクリックすると製番の詳細データ
   が表示されます。生産進捗に応じて【追加】、【変更】、【削除】が
   可能です。
   また、"***要手配***"  をクリックすると、その行の左側の
   所要分に対し、新しい製番計画の提示が "手順3.引当計画" 欄に、
   表示されます。

製番計画の提案情報



  操作④ "手順3.引当計画" 

  上記所要分に対する、新しい製番計画の提示の表示内容の説明です。
   ・製品key---今回は、代表製品keyの "5"、製品名→"MG-B"。
   ・製番名---受注引合所要の"oct-0022" に対する引き当て計画なので、
    "oct-0022引当" の製番名を提示します。同名が存在する場合は、
    製番名に "-1" を追加します。修正可能です。
   ・製品版数---任意で、版数の選択をします。版数は、構成部品だけで
    なく、製品仕様や、製造工程方法、工数、製造歩留まり、生産Lot数
    が異なることもあり、生産拠点も版数ごとに設定されています。
    因みに、適用禁止の版数は、選択不可となっています。

版数を選択します

   ・計画数---受注引合所要の "oct-0022" の33台 (11月16日) の内、
    生産予定の "O-001引当-1"  の22台 (11月 7日) が引き当たりますが、
    不足となる11台に対して製番計画の追加提案が表示されます。
    数量は任意に変更可能ですが、【Lot数変換】ボタンで、Lotの倍数
    に自動調整も可能です。
   ・生産計画の確度---任意で、❝確定❞、❝予定❞、❝予測❞ から選択しま
    す。製番の進度管理の違いを識別する表示です。
    ❝確定❞ は、部材発注、部材ピッキング可能で、生産確定の製番の認
     識としました。
    ❝予定❞ は、部材発注しても、製造への部材ピッキングはしない製番
     認識としました。
     (発注は、部品ベンダーの納入L/Tの余裕日数の勘案が必要です。)
    ❝予測❞ は、シミュレーションモードにて、受注予測を含めた所要に
     対しての引当計画として登録可能です。 
     所要部材については、❝部品の発注所要引当て❞ 画面で、
     発注はせず、所要提示フォーキャスト、発注費予算などに利用し
     ます。生産工数は、生産拠点の能力予測に利用します。
   ・完了期限日---所要の受注引合  "oct-0022" の11月16日となります。
   ・生産開始日---完了期限日から、単純に工数を引いた日付で仮セット
    で提示します。修正可能です。
   入力後、【追加】ボタンで、製番登録が完了します。 

新規製番を20台で登録したため、❝要手配❞の数が、8台となりました。

  操作⑤ "手順4.日付指定理論在庫"

   指定した日付(過去日は不可) の全拠点合計の理論在庫数を表示しま
   す。在庫が無いアイテムは表示されません。
   下図の 製品key→2 の場合の表示内容の説明ですが、
    a: 【日付指定欄】に、2023/07/15の指定をします。
    (日時データから年月日のみ取り出した日付データです)
   b: 一覧表の ❝発生日付❞ 2023/07/12は、指定日以前の在庫変動
    した直近の日付です。この画面操作は、2023/07/10に操作したの
    で、その2日後に在庫変動があり17台になる予定です。
    (在庫変動の日時データから年月日のみ取り出した日付データです)
   c: 一覧表の ❝在庫数❞ は、2023/07/12から指定日2023/07/15まで
    理論在庫が17台の予定となります。
   d: 一覧表の ❝標準原価計❞ は、該当製品keyのRev管理票テーブルか
    ら優先に☑のあるレコードの ❝tov❞単価と理論台数を掛けた原価合
    計です。実際の在庫には、複数Revが存在することとなりますが、
    簡易的に同一単価で金額を算出表示しています。

  以上で、❝6の①--受注・生産引当て❞ は終了です。 
  お疲れ様でした。

今回の記事から、やっと『運用データの管理』と、その次の『生産進捗の管
理』に続きます。以前までの『基本データの登録』、『業務データの登録』
関係の記事は、❝運用管理❞ と ❝進捗管理❞ をする為に必要なデータ登録についての記事です。記事の計画している総数26個に対し、やっと18個書き終えましたが・・・。
記事の作成ペースが遅い理由は、1番は歳のせいですが、「生産管理業務の
何をしたいのか ?」の目的を欲張ってしまい、どうしてもテーブルとそのフィールド項目が多くなってしまいます。かといって、簡素化すると「実務で
使えない」プログラムになり、結局作り直しで余計な手間となってしまいます。

データ登録や、画面操作に、手入力を減らす工夫も必要です。目標は俗にいう【生産管理なんとかシステム】ですが・・・・、
レベルが程遠いため、【なんちゃって生産管理プログラム】のタイトル名となっています。 
今回記事の画面での処理は、全て手操作です。たとえば他端末から受注登録
が有っても、生産管理担当者がこの画面を開かないと生産計画(製番) の不足
に気が付きません。その対策として、一定時間おきに、自動チェックをさせて、アラームを自動発信するなどの対策をしていきます。
それらの作業の自動化については、別記事 【8--アラーム監視】 で記述
予定です。

 

 
               ---次回につづく---

この記事が気に入ったらサポートをしてみませんか?