ラベル

2012年7月21日土曜日

SAP R/3用 手作りフロントエンド Part1

日常業務の不便を解消する為に自作したフロントエンドの概念を整理しておきます。
具体的なコードは掲載しません。
解りやすい図解とかも予定はしていません。

SAP R/3 といっても使っている企業毎にカストマイズしていたり、基本機能でも使っていない
部分が有ると思うので、自分の環境でしか動作確認はしていません。(出来ません)
最初のツールから改良・拡張を繰り返しています、5年くらい続いています。

1、自部門の業務
  自分の受け持ちはSAPのワークフローで社内から受注の処理依頼が来る部門です。
  常に受信BOXを手動で更新して処理依頼が見えたら処理を取ります。
  20名程で取り合いになるのです。
  取った後は受注処理から購買依頼まで行います。

2、自作するキッカケ
  上に書きましたが、処理の依頼を取るまでの不便さを解消したい!
  が始まりでした。

  1)手動の画面更新・・・手が疲れます。
  2)処理の取り合い・・・取れないことのストレス、処理件数が少ない。ロスタイム。

3、最初に作ったツール
  SAP R/3にVBスクリプトの連携機能が有る事を社内で知りました。
  ネットで検索してもサンプルソースは見つかりませんでした。
  社内でもフォローはしないので使えれば使っても良いだけでした。

  そこでSAP R/3のスクリプトの記録と再生(Excelと同様な発想?)を使って受信BOXの
  更新スクリプトを確認しました。

  このスクリプトをNSBASICに入れて小さな自動更新専用のツールを作りました。

  更新間隔は120秒から30秒プラスで6分までコンボボックスで選択しました。
  これで手動更新から開放されました。

4、2番目に作ったツール
  受信BOXには数項目の表示(依頼の日時や部門、伝票番号、処理の種類)が有りますが
  ソートやフィルターだけでは見にくい。

  そこで受信BOXの表示内容をVBで取り込んで部門別件数、処理別件数の表示と
  フィルター機能を追加したのが2番目のツールです。

  これはNSBASICにOWC11のスプレッドシートを組み込み集計表示のクリックした項目で
  受信BOXにフィルターを掛ける事ができます。
  ご参考->スプレッドシートのサンプル(NSBASIC)

5、3番目に作ったツール(ここからフロントエンドらしくなったのです)
  2番目のツールでも実際の処理を取る動作からはSAPの受信BOXを直接操作しました。
  最初のツールから2年くらい掛かりました。
  3番目のツールでは受信BOXで行う操作をツールから出来る様に各機能を追加しました。
  処理依頼の照会、実行、予約、解除(置換)、表題の編集、ソート、フィルター等です。

  通常はツールが最前面にいて処理を照会や実行するとSAP画面を最前面にし処理が終わると
  またツールを最前面にします。

  上に有る様に必要なタイミングで最前面に見せるウィンドウを切り替えるのに苦労しました。

  私のレベルではNSBASICでは記述が判らず、最終的に日本語プログラム言語「なでしこ」
  作り直しです。
  以降の説明では「なでしこ」と記述します。

  「なでしこ」でOWC11は組み込めず、グリッドと言う機能を使って集計表示を作り
  2番目のツールと同等のツールを作ってから今回の目的の機能を追加して行きました。

  簡単に書いていますが、表題の解析やウィンドウの状態の取得が複雑になりました。

  「なでしこ」でウィンドウハンドルの取得は簡単に記述出来ますが突然出る
  システムメッセージが色々と邪魔になるので想定している状況と存在するウィンドウを
  チェックしています。

  外見的には「なでしこ」からSAP R/3を操作していますが「なでしこ」にはVBスクリプトが
  記述出来るのでそこにVBでSAPのインターフェースを書いています。
  計画した機能の追加・デバックは実際の業務で使いながら行いました。(汗)

長くなったので、Part2で続きを書きます。

0 件のコメント:

コメントを投稿