[ai]ActiveStaterでのメール送信に行数の壁は無かった・・・

棚卸データGmail送信の不具合が解決!

[Ai2LiveComplete]

私のハンディーターミナルアプリ、棚卸データ書出用として2種類のボタンを作ってみました。

1:[ 送信 ]ボタン
これは棚卸データをGmail本文に挿入する機能で、レコード数120行未満用

2:[ 書出 ]ボタン
こっちはSDカードにテキストファイルとして書き出す機能。

で、今回解決した不具合は[ 送信 ]ボタンの120行の壁
と言っても、本当は壁など無かったんですけど・・・・

[が〜ん、固定長データをメール本文に挿入するのはダメみたい]


[ 送信 ]ボタンを押すと、ActiveStaterコンポーネントが動きSQLiteに貯めた棚卸データをGmail本文に直接挿入。
この時、たまにデータ後半が切り捨てられる不具合が発生。

この不具合、レコード数が120行を超えたテストの時に起きたので、アプリの実務投入の際、120行未満なら[送信]ボタン、超えたら[書出]ボタンを使うように営業マンに指示しました。

App Inventor:ActiveStaterのメール送信にレコード数の壁は無かった!

でも数日前、予想外の現象を目撃!

が〜ん、10行のレコードでも後半切捨が起きてる!

なんで、なんで、なんで?
120行以下なら大丈夫だと思ってたのに・・・・

商品名が「丸美屋 とっとこハム太郎<ビーフ&コーン>」
切り捨て直前の文字列が「丸美屋 とっとこハム太郎<ビーフ

App Inventor:ActiveStaterのメール送信にレコード数の壁は無かった!

ん、ん、ん、んんんん・・・、もしかして不具合の原因が分かったかも

アンド記号「&」が制御記号として誤認識されてるみたい・・・・

手がかりがつかめたので、早速検証開始!

まず、オフコン商品マスタをハンディーターミナルアプリに取り込むためのSQLite用bulk insertファイルを生成するMS-Accessプログラムを修正。

Replace関数で商品名内の小文字アンド記号を全角アンド記号へ置き換えるようにしました。

そして、bulk insertファイルを作り直しアプリへインポート。
App Inventor:ActiveStaterのメール送信にレコード数の壁は無かった!

さて”<ビーフ&コーン>”の「コーン」の壁を越えられるかな?

結果がこれ、普通に超えました!
やったー、やったー、不具合が1つ解消できた!

まぁ、きっとプロならすぐ気付けるんでしょうね・・・・
でも、日曜プログラマーにとっては大きな一歩!
App Inventor:ActiveStaterのメール送信にレコード数の壁は無かった!

ついでなので実験継続。
「コーンの壁」が無くなれば、果たして何行までGmailの本文に棚卸データを挿入出来るんだろう?

と言うことで書出ソースのSQL文を書換え、商品マスタを棚卸データに見立てて書出し実験を継続。
すると300行付近でまた切り捨てが発生!

あれ、意外に早い限界なのね・・・・・・😮

その箇所を調べると今度は半角シャープ#でした!

なるほど、シャープ#でもActiveStarterは止まっちゃうのね!
そこでVBAプログラムを再修正。
半角シャープ記号もReplace関数で全角変換。

そして再実験すると、8400行までGmail本文へ挿入することができました。
それを超えると、Gmailが即効クラッシュ!

きっと、ごれが仕様限界みたい。

やれやれ、困っていた不具合が1つ解決!
誰も聞ける人が居なく、作り方を書いた本も無いApp Inventor2の実務アプリ開発。
これからも一人で右往左往しながら完成度を上げて行かねば。

コメントを残す

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