630-40 | 在庫管理
このフローは、krewData厳選シナリオ集に掲載されている「不足する在庫を発注依頼する」の具体的なフローの作成方法です。
在庫管理アプリの有効在庫数が必要数を下回った場合に、仕入先ごとの発注依頼用レコードを自動作成する為のフローを解説します。
このフローでは、受注管理アプリで【発注】というカスタマイズで作成したボタンのクリックをきっかけにAPIを呼び出し、発注レコード追加フローを実行します。
入力アプリのフィールド構成
受注管理アプリ
- 受注情報を管理するアプリ
- 関連レコードで在庫管理アプリの同じ品目の在庫数を管理している
- このアプリでの【発注ボタン】のクリックを契機としてフローを実行する
※テンプレートに含まれるJavaScriptファイルを受注管理アプリに事前にアップロードしてください
在庫管理アプリ
- 入出荷日ベースに品目ごとの有効在庫と実在庫の保有状況が管理されている
品目構成マスタアプリ
- 商品を構成する各部品の有効在庫と実在庫の保有状況が管理されている
- 今回のフローでは、受注数が必要数を下回る場合に自動発注を行う
出力アプリのフィールド構成
発注管理アプリ
- 品目ごとの発注必要数が仕入れ先ごとに登録される
- レコードが登録されるのは、受注数が必要数を下回る場合
呼び出し元アプリと実行方法
・呼び出し元アプリ:630-40 受注管理 (このアプリでの操作をきっかけにkrewDataのフローを実行する) ・実行方法:API1.入力アプリを設定
受注管理アプリ
- 入力アプリコマンドを追加し、アプリの選択で「受注管理」アプリを選択する
- フィルタの設定で次のように設定する ・品目名 =(等しい) %品目名% ・注文日 =(等しい) 日付を指定 %注文日%
- フィールドの選択で「ステータス」「品目名」「注文日」「受注日」「受注数」を選択する
在庫管理アプリ
在庫管理アプリを入力アプリとして設定する
- 入力アプリコマンドを追加し、アプリの選択で「在庫管理」アプリを選択する
- フィルタの設定で次のように設定する ・品目名 =(等しい) %品目名%
- フィールドの選択で「入出荷日」「品目名」「有効在庫数」「実在庫数」を選択する
入出荷日が最新のレコードのみ抽出する
- 重複の削除コマンドを追加する
- 重複の検査をするフィールドとして「品目名」を設定する
- 「入出荷日」の降順に設定する
2.受注・在庫管理アプリのデータを結合する
受注数と在庫数を比較するために2つのアプリを結合します。アプリ結合する
- アプリ結合コマンドを追加する
- 「受注管理」と「入出荷日が最新のレコードを抽出」を選択して内部結合を選択する
- 元になるアプリの条件フィールドとして「品目名」を設定する
- 結合するアプリの条件フィールドとして「品目名」を設定する
受注数が有効在庫数を下回るレコードを抽出する
今回の発注は有効在庫数が受注数を下回る場合に行いたいので、該当するレコードのみに絞り込みを行います。- フィルタコマンドを追加する
- 数式で次のように数式を設定する 数式:受注数 > 有効在庫数
3.入力アプリを設定
各部品の必要数を管理しているのは、「品目構成マスタ」アプリになります。このアプリの必要数と照らし合わせて発注を判断するために、入力アプリとして作成します。- 入力アプリコマンドを追加し、アプリの選択で「品目構成マスタ」アプリを選択する
- フィルタの設定で次のように設定する ・品目名 =(等しい) %品目名%
- 使用するフィールドに「品目名」「部品名」「仕入先」「必要数」を選択する
4.品目構成マスタのデータと突き合わせる
発注が必要なレコードと品目構成マスタアプリのデータを突き合わせて、発注に必要な数量が計算できるよう設定を進めます。- アプリ結合コマンドを追加する
- 「受注数>有効在庫数」と「品目構成マスタ」を選択して内部結合を選択する
- 元になるアプリの条件フィールドとして「品目名」を設定する
- 結合するアプリの条件フィールドとして「品目名」を設定する
5.発注データを整形する
部品の発注数を算出する
部品の発注数を計算します。- データ編集コマンドを追加し、以下のように設定する
- 結果を保存するフィールド:新しいフィールドを作成 数量 編集方法:数式 編集内容:(受注数-有効在庫数)*必要数
発注依頼日に今日の日付を設定する
今回の設定では、発注依頼は当日の日付とします。- データ編集コマンドを追加し、以下のように設定する
- 結果を保存するフィールド:新しいフィールドを作成 発注依頼日 編集方法:数式 編集内容:TODAY()
必要なフィールドのみに絞り込む
アプリ結合などによって不要なフィールドがあるため、必要なフィールドのみに絞り込みます。- フィールド選択コマンドを追加する
- 使用するフィールドとして「発注依頼日」「品目名」「仕入先」「部品名」「数量」を選択する
発注する部品がテーブルに出力されるよう設定する
出力先である発注管理アプリでは、品目を構成する部品をテーブルに入力する構成です。テーブル作成コマンドを使い、部品の情報がテーブルに出力されるよう設定します。- テーブル作成コマンドを追加する
- レコードに保持するフィールドに「発注依頼日」「品目名」「仕入先」を選択する
- 新しいテーブル名は「テーブル」と設定する
- テーブルに保持するフィールドに「部品名」「数量」を選択する
8.出力先を設定する
発注管理アプリを出力先アプリに設定する
- 出力アプリコマンドを追加し、出力先のアプリに「発注管理アプリ」を設定する
- 出力方式に「追加」を選択する
- データ編集フローのフィールドで、アプリのフィールドと対になる編集フローのフィールドを選択する ※出力方式を「追加」にしたため更新キーは必要ありません
出力後のデータを確認する
実行前
有効在庫を上回る受注数が登録されました。【発注】ボタンをクリックしkrewDataのフローを実行します。実行後
発注が必要な部品情報が仕入れ先ごとにレコード作成されたことが確認できます。サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewdata-drill/pratical/dt630-40inventory-order.zip