App Inventorの亜種「AI2LiveComplete」で作った自作ハンディーターミナルアプリ。

集めた受注データを基幹システムに取り込む方法は、社内からなら2ステップ。
イントラ内に建てたFTPサーバにput後、空改行を取り除くVBSスクリプトを実行するだけ。

問題なのが社外から:-?

すこし前まで取り組んでいたのが下のページを参考にした、メール本文に受注データを書き込み送信する方法。

[How to send an eMail–puravidas.com]

MS-Access製メール受信クライアントで、それを受信し本文から受注データ部分を取り出し固定長ファイルに保存する仕様でした。

[CSVファイルダウンロードとメール送信–形部商事] [今回もAccessでPOP3クライアントを作り始めました–形部商事]

でもActiveStarter.DataUriを使ったこの方法、最大容量が有るみたいで12KB以降のデータは切り捨てられます。
開発中に作った数行のデータでは気付けず、本番利用初日で問題が発覚!
慌てて利用中止にしました。

この失敗は二度と繰り返さないぞ!
と言うことで次に始めたのが、受注データをSDカードに保存しメール添付する方法。

そして完成したMS-Access製メール受信プログラムがこれ
AppInventorでハンディーターミナルアプリ開発:固定長ファイルメール送信

私がよく使うコマンドラインPOPクライアント、その名も「Command Line Pop Client」は設定用XMLファイルを書換えるだけでメール本文と添付ファイルの保存先フォルダを簡単に指定できます。

[Command Line Pop Client (Free)–CODEODE]

メール受信と同時に、本文はc:pop3messageフォルダ。
添付ファイルは、c:pop3attachフォルダに保存。

ボツになったメール本文バージョンでは、c:pop3messageフォルダをdir。
存在するファイルを全て開き、データ部分だけを別ファイルに保存していくプログラム。

これを書換え、今回はc:pop3attachフォルダ内をdir。
見つけたファイルから空改行を削除後、オフコン取込み用指定ファイル名に改名しバックアップフォルダc:pop3ackupに移動させます。

外からのメールは、実行時点で何通届いているか分からないので、受信メールは取りあえず一覧で表示。

後は、オフコンに取り込みたいファイルだけをオペレーターが書出ボタンを押して指定する仕様です。

ベースになるプログラムがあったので、比較的早く完成しました

今日は、また雨の週末・・・・
テニスが出来ないので、丁度いい暇つぶしになったかも!

何度かテストしましたが、ちゃんと動いてます:-)
早速明日、会社で動かしてみよう!

技術的に分からず実装出来なかったのが、受信済みメールの自動削除。
この仕様では、メールは削除されずPOP3の受信ボックスに延々と保存されていきます:-(

1か月以上前のメールを消してくれるコマンドラインソフトを探さねば・・・・

取りあえずは恥ずかしい方法ですが、受信ボックスの容量を1Gとかにしておけば軽く10年間は容量オーバーになることは無いと思います 。

(146 views)

コメントを残す

メールアドレスが公開されることはありません。