AsprovaのプラグインDLLと拡張インターフェイスDLLの違い

経済発展著しいインドネシアだが、それに伴う環境破壊が近年問題になっている。地下水の汲み上げすぎによる地盤沈下、急激なモータリゼーションに伴う排気ガスによる大気汚染、化学工場からの有害物質や橋・ダム建設による生態系破壊など。

エコ化促進活動にはお金がかかりボランティアでは限界があり、商売しながら自動的にエコ化に貢献できるようなビジネスモデルを確立できればすばらしいと思うがなかなか難しい。

ジャカルタの渋滞はひどいもんだが、2輪4輪産業には日本並みの排ガス規制を適用し、利用者にも相当の責任(税金とか)を課さないととんでもないことになりそうだ。今のインドネシアは経済発展加速中で、その過程での弊害(環境破壊・格差拡大)はある程度仕方のない時期なのかもしれませんが、こんな時こそが日本のODAの出番、渋滞解消ための交通インフラ(モノレール・フライオーバーなど)の整備、大気汚染を解消する環境技術などの支援がもっとなされて欲しい。

ジャカルタ市内のMRT計画は日本のODAが入ると言われているが、駅前に日本とインドネシアの国旗が刻印された石碑が建てられれば、日イ友好効果は絶大だと思う。その辺の経済・環境保護支援をマーケティングに結びつけるやり方は中国・韓国勢に比べて日本は下手な感じがします。

インドネシアは好景気に沸いていますが、環境ビジネスという切り口から見ると、一味違ったアイデアが沸いてくるかもしれません。

プラグインキーとインターフェイスの違い

プラグインのAsDefaultクラスのAutoRegistrationメソッドの中のエントリ関数呼び出し部分にプラグインキー(KeyHookGeneric)を定義しておけば、Asprovaで該当するイベントが発生(追加したコマンドが起動)したときにエントリ関数が呼び出され実行される。

同じようにEII(Extension Interface Implementation)のAsDefaultクラスのAutoRegistrationメソッドの中のエントリ関数呼び出し部分にインターフェイス(IEIIFilterCalcReplenishOrderLotSizing)を定義しておけば、Asprovaで該当するイベントが発生(自動補充発生)したときにエントリ関数が呼び出され実行される。

ただしプラグインキーよりもインターフェイスは呼び出しにかかるオーバーヘッドが小さくなるようカスタマイズされており、オーダ展開、自動補充、ロットまとめなどのような頻繁に呼び出しがかかるロジックの変更に適しています。

プラグインDLLは機能(関数)の追加、拡張インターフェイスDLLは既存ロジックに対する変更のために開発します。

拡張インターフェイスを使うとプラグインキーを使うよりも呼び出しにかかるオーバヘッドが小さいので、リスケジュールの中で頻繁に発生するイベントから呼び出したいエントリ関数を追加する場合に使用します。

補充オーダのロットサイズを変更する拡張インターフェイス(DLL)

補充オーダのロットサイズは「製造ロットサイズMAX」「製造ロットサイズMIN」「製造ロットサイズUNIT」によって決まりますが、FilterCalcReplenishOrderLotSizingは「オーダ展開」コマンドの中での紐付け時に呼び出され、以下の3つのオブジェクトを取得して補充オーダのロットサイズを変更(上書き)し、結果をArgListに渡します。

  1. 補充品目の配列 ArgAsObject(kArgItem)
  2. 親オーダの初工程の作業入力指図のリスト ArgAsObject(kArgObjectList)
  3. ロットサイズのリスト ArgAsSafeArray(kSafeArrayArgDouble)

ロットサイズ

ロットサイズは自動補充「はい」
ロットサイズは補充オーダ生成時に決定される
作業入力指図のリスト(2次元配列)と作業出力指図のリスト(品目)

オーダ展開のプロセス

  1. 親オーダの作業(作業入力指図と作業出力指図)を生成
    初期状態での親オーダとは受注オーダ、または登録オーダの製造オーダ
    製造BOMより作業入力指図、作業出力指図を生成
  2. 自動補充
    親オーダの作業の作業入力指図が紐付け対象かどうか確認
    親オーダが在庫(絶対量)よりも過去の日時の場合、作業入力指図は紐付け対象外

    不足分の作業入力指図の製造オーダを自動生成する。
    親オーダの作業入力指図(入力品目)の不足分の製造オーダを子オーダとして生成
    子オーダの作業入力指図の不足分の製造オーダを孫オーダとして生成

  3. オーダ間の紐付け1回目
    自動補充設定のある受注オーダ、製造オーダ、購買オーダ、在庫オーダの紐付け
    自動補充設定のない製造オーダ同士(製造BOMで繋がりのある品目同士)

製造オーダ完成7回分で前工程をまとめる例

  1. 1回目の自動補充でitemにB1が、instにBのリストが入る
    作業M4の入力指図B1の不足数量(在庫がないのでRemainingQtyはBそのもの)を7回足しこむ
  2. 2回目の自動補充でitemにCが、instにAのリストが入る
    作業M2の入力指図Cの不足数量を7回足しこむ。
  3. inst.Operation.OperationMainRes.Code=’M4’が条件なので(2)は実行されない。

こんな投稿も読まれています