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製メール受信プログラムがこれ
私がよく使うコマンドライン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年間は容量オーバーになることは無いと思います 。