ハンディターミナルを使った入出庫管理システム

本記事のポイント

日本の倉庫の現場では当たり前のように行われているバーコードによる在庫管理も、インドネシアの日系企業ではまだこれから検討といったところも多いと思いますが、バーコードを読む機器はPCにケーブル接続またはBluetoothでペアリングするスキャナー式か、バッチでデータ転送するハンディターミナル式か、Windows CEなどOSを搭載した無線ハンディターミナル式かの3択になります。

ハンディターミナルの特徴

日本の倉庫の現場では当たり前のように行われているバーコードによる在庫管理も、インドネシアの日系企業ではまだこれから検討といったところも多いと思いますが、バーコードを読む機器はPCにケーブル接続またはBluetoothでペアリングするスキャナー式か、バッチでデータ転送するハンディターミナル式か、Windows CEなどOSを搭載した無線ハンディターミナル式かの3択になります。barcode

どれを選択したらよいかの判断するために必要な基準をざっと挙げると以下のようになります。

  • スキャナー
    1. 安価で導入が簡単だがキーボード入力の代替機能という位置づけ
    2. PCの近くで作業する前提
    3. キーとなる情報を簡単に正確に取得するのが目的で、それ以外の必要な情報はPC側のアプリで取得
  • ハンディターミナル
    1. 安価だがBasicやVBScriptライクのハンディ端末用独自開発ツールでプログラムを開発する必要あり
    2. 広い倉庫や現場での使用を前提
    3. PC側のアプリとはCSVファイルでのやりとりが基本
  • 無線ハンディターミナル
    1. 高価だが通常のPC開発の感覚で端末用アプリの開発が可能
    2. 現場で無線LANが使えることが前提
    3. サーバーのデータベースに直接書き込むことが可能

「PCに接続して使うスキャナーでは現場で自由な作業が出来ない、かといって無線ハンディは高すぎる」という消去法でバッチ式のハンディターミナルが選択されるケースが多いのですが、ハンディ端末側で入出庫や棚卸作業をするためのメニュー形式のアプリと、それを受けて基幹システムにデータを繋ぐPC側のアプリの2つの開発が必要になり、市販されるハンディターミナルには独自のアプリ開発ツールが付随しているのが一般的です。

基幹システムへの実績計上方法

バッチ式のハンディターミナルを使う場合、基幹システムから発行した指図に基づいて実績を取得し、現品が指図どおりにスキャンされるかチェックしてから基幹システムの実績として連携するケースと、指図なしで現品をスキャンして取得した実績を基幹システムに計上する2通りの方法があります。barcode

  • 指図に対して実績を計上し基幹システムに反映
    1. 入荷:未検査エリアから材料倉庫へ
      検査合格時に現品票貼り付け
    2. 材料出庫(出庫指図):材料倉庫から製造現場へ
    3. 材料戻し:製造現場から材料倉庫へ
    4. 製品入庫:製造現場から製品倉庫へ
      検査合格時に現品票貼り付け
    5. 出荷(ピッキングリスト):製品倉庫から出荷エリアへ
    6. 廃棄:倉庫から廃棄エリアへ
    7. 棚卸(棚卸表):倉庫
  • 指図がない実績を基幹システムに反映
    1. 棚移動:棚から棚へ移動

ハンディターミナル側でのアプリ開発

flowハンディターミナル側ではメーカーが提供する独自のスクリプト(BasicまたはVBScriptライクの言語)を使って、基本はメニューとボタンとテキストボックスの3つで倉庫での入出庫作業を行うためのアプリを開発しますが、基幹システム側の指図情報やマスタデータをハンディ側に格納するデータベースは、無償で軽量(コアはわずか225KB)、基本的なSQL文はすべて使えるし、CSVファイルとの相性も抜群のSQLLiteを使うのが一般的で、PC上のエミュレーターで動作確認しながらの開発になります。

左図は製造指図に記載される投入予定情報に基づき、材料倉庫から製造現場に正しく材料が払出しするためにハンディを利用するフローですが、基幹システムで発行した指図のヘッダーに印刷された指図NOをスキャンし、該当する倉庫との棚から該当するロットの品目を出庫しているかどうかのチェックをかけ、実績数量との差異に許容範囲を持たせてエラー、もしくはアラートを表示させるなどの機能を実装させています。

ハンディターミナルでCSVファイルを使うということは、以下の4回のデータ変換が発生します。

  1. 入出庫管理システム側のDBからCSVファイルへの変換しハンディにアップロード
  2. ハンディ上でCSVファイルをSQLLiteへのインポート
  3. ハンディ上でSQLLiteからCSVファイルに変換してダウンロード
  4. 入出庫管理システム側のDBにインポート

棚に張ってあるラックラベルの棚番バーコードをスキャンするのは、材料出庫や出荷などの出庫処理の場合は、最初に出庫元棚番を読み込むタイミングで行い、入荷や製品入庫などの入庫処理の場合は、最後に入庫先棚番を読み込むタイミングになります。