< | >

賢く付き合いたいヤマト運輸送り状発行ソフトB2
  • (2008-12-28 11:20:43)

旧送り状発行ソフトB2(バージョン5)


送り状発行ソフトB2の旧バージョンはかなり前から利用してきた。B2は手書きからユーザーを解放してくれた。

しかし、当初B2は使いにくかった。たとえば、郵便番号と住所の整合性を検知する仕組みが組み込まれており、日本郵便が公開している郵便番号リストから少しでもはずれるとエラーになり、送り状(宅急便伝票)の打ち出しができない仕組みになっている。

たとえば、

「神奈川県横浜市保土ケ谷区」を

「神奈川県横浜市保土ヶ谷区」

と書くお客様は多いが、これはエラーとなる。全国すべて「ヶ」でなく「ケ」かというとそういうわけでもない。個々に異なる。

初期のB2は「エラー」を吐き出してもエラーカ所は表示してくれなかったのでエラーの場所や原因がわからず時間を浪費した。

たとえば「○○郡」という住所。しかし、中には「○○群」と記入する人も。冷静にみれば「郡」と「群」の違いはすぐにわかるが、もう熱くなっている頭だと目が錯覚を起こすいので発見も遅れる。

無料ゆえありがたさは感謝すべきだが、有料化してもらったほうがよい。毎日使うソフトだからウン万円でも安い。

毎日使うソフトは「ほんの少しの使い勝手の違い」が大きな差となる。

内蔵された住所郵便番号整合性検査プログラムはユーザーのためではなく、ヤマト運輸さんが荷物仕訳を正確にするための秘策。その結果、正しい荷物が正しい送付先に届くのだからユーザーメリットと言えないこともない。

手書き伝票の場合、住所の不正確さの検証と修正は現場のドライバーさんが行っている。

そして多くの時間と労力が消費されている。この点からドライバーさんが苦労していた部分を、B2は顧客にB2を導入してもらうことで、ユーザーに肩代わりさせたものとも言える。

そんなクセのあるB2も2007年くらいには安定していた。ソフトの完成度が上がっただけでなく、ユーザーがB2のクセに慣らされ対応方法を学んだことも大きい。

しかし、B2は2007年10月バージョンアップした。ようやく安定して使用しているソフトが「また最初からやり直し」を強いられるのではないかという恐怖。


バンドルされたデータベース「SQL Server 2005 Express」


ヤマト運輸送り状発行ソフトB2は2007年10月にメジャーバージョンアップ(バージョン6)が行われた。1ヶ月くらい激しいアップグレードキャンペーンが展開された。

ドライバーさんは資料とCDを持ってきてくれるし、ダイレクトメールも来たが、私は頑として旧バージョンを使い続けた。

ドライバーさんには毎日のように移行を懇願された。そういう人海戦術によるプロモーションも盛んだったが、1ヶ月くらいでドライバーさんはあきらめた。

しかし、彼らにも秘策があった。旧バージョンの「プリンター用紙が入手できなくなる」と脅された。

複数いるドライバーさんの中には同情してくれる人もいてプリンター用紙を大量に確保すべく最も頼りになるドライバーさんに事情を話すと後日大量の用紙を段ボール箱に入れてもってきてくれた。これはうれしかった。

その営業所に保管されている用紙全部だろうと推測されたが、詳細は聞かなかった。

一方で、アップグレードを想定して準備もした。テスト用PCに新バージョンをインストール。第一印象は見た目のデザインが醜い。ソフトウエア後進国らしいなんともダサダサな見栄えだ。

B2とともに「SQL Server 2005 Express」というデータベースがインストールされる。「SQL Server」はMicrosoft社の企業向けデータベース。Microsoftには中小規模企業や個人用途に「ACCESS」というスグレモノのデータベースがあるが、別系統のデータベース製品。

たかが住所録の打ち出し。リアルタイムのオンライン・システムのような基幹業務にさえ耐えるデータベースが必要なのだろうか?ヤマト運輸の顧客には一日に1万件とか10万件とか大量の荷物を出荷する大企業もあろう。

中小企業から大企業まで同じソフトでカバーするとしたらこのようなエンタープライズレベルのソフトの選択はやむを得ないのだろうと理解した。

Microsoft社がこの「SQL Server 2005 Express」を無料配布している事実を知ったのは後日。ORACLEやオープンソースでフリーの「MySQL」「PostgreSQL」に対抗するための極めて戦略的なキャンペーンのようだ。

「SQL Server 2005 Express」は送り状発行ソフトB2以外の、当社が使用している別のソフトでもバンドルされるようになり、苦しみの原因となる。

「無料」っていいことばかりではない。


B2バージョン6に移行


2008年9月、最初のインストールからほぼ一年経過した頃、旧バージョンのプリンター用紙も在庫が切れ、再度ヤマト運輸さんに泣きついて旧プリンター用紙を依頼したが、つれなく支給を拒否され、新B2への強制移行が決定的になった。

旧バージョンのプリンター用紙を使用し続けているユーザーは全国にはまだ相当数いる模様だが、要は力関係と思う。中小企業にヤマトさんを動かせるだけの交渉力はない。

(その数年後、偶然知ったことだが、その後も何年も旧バージョンは使用可能で、一部のユーザーには印刷用紙の提供もヤマトは続けていた。ヤマトは中途半端で不公平なことをする企業だと感じた)


B2バージョン6の感想



●何をやるにも確認メッセージボックスがポップアップされる。

OKボタンを押すだけの「わずかな操作」だが「このわずかなムダ」が毎日毎回続くとユーザーには負担となる。これを回避するための設定をいろいろ探ったが見あたらない。


●各操作ボタンにキーボードによるショートカットの割り当てがない。

毎日オペレーションを実施しているとキーボード操作だけで一連の操作が完了できる方が早くやれる。キーボードによるショートカットはぜひ欲しい。前のバージョンでも「ショートカットの割り当てをぜひお願いします!」という依頼をサポートセンターにあげた。

ついに実現することはなかった。毎日の操作をオートパイロットプログラムで自動化するユーザーも多いかと思うが、この際もショートカットがあるとプログラミングは簡単でシンプルになる。


●メッセージ欄の半角文字を全角に強制変換する。

たとえばメッセージにメールアドレスを含めると、B2はエラーメッセージを吐きだしその上で強制的に全角変換してしまう。変換されたメールアドレスはもはやメールアドレスではない(使用できない)ものになるので大変不便。

サポートセンターに「半角文字も入力を認めて欲しい」という依頼した。サポートさんからの返答は私と同じ依頼をしているユーザーが他にも多数いる模様でシステム部にその旨伝えているとのこと。

なぜ英数字をわざわざ全角にする仕様なのか不明。なぜ強制的に全角変換するのか?なんらかの理由があるはずだが、わからない。おそらく社内的な事情があるのだろう。巨大な会社さんなので担当者レベルでは何もできないのかもしれない。


●郵便番号操作で住所の強制書き換え(オーバーライト)。

郵便番号と住所の整合性チェックプログラムがあるのは前のバージョンと同じだが、以前と違うことは強制的に郵便番号に合致する住所に書き替えることである。しかも、この書き換えでユーザー入力の番地や集合住宅名が飛ぶ。この仕様はおそらく「入力支援」と推測される。

しかし、当社のようにユーザーデータを、CVSファイルやEXCELファイルから一括取りみ(インポート)しているユーザーには非常に危険な仕様である。

お客様が配送先の記入で、もし間違って記述するとしたら、住所と郵便番号、どちらが間違えやすいかだろうか?考えるまでもなく郵便番号が多い。郵便番号優先で住所を強制変換することは危険だと思う。

※本件はどこかのバージョンアップで改善された。


●日付エラーで強制書き換え(オーバーライト)。

到着指定日が早すぎたり遅すぎるとエラーとなる。たとえば、北海道は通常翌日では無理で2日かかるので、翌日指定でエラーとなる。青森は翌日指定が可能ながら午後からとなるので「翌日午前」を指定するとエラーとなる。

使えないのがエラーの処理方法。エラー時、配達可能日で強制書き換えされること。特に困るのが「空白」をエラーにしてしまう仕様。手を加えなければ空白でもよいが、いったん何かを入力すれば「空白不可」となる。この仕様の意図ははかりがたい?


●「宅急便->メール便->コレクト->メール便速達」という印刷順序。

当社では「宅急便・コレクト・メール便・メール便速達」の4種類の伝票を打ち出している。伝票打ち出す順番は「宅急便->コレクト->メール便->メール便速達」である。

これは人間の素直な感覚からすれば平均的な順序。全配送先リストも、データベースのソートもこの順番で統一している。

しかし、B2では「宅急便->メール便->コレクト->メール便速達」という印刷順序となっている。「宅急便->メール便」の順番の背景はそのサービス開始の歴史によるものだろう。


●宅急便の専用印刷用紙がジャムりやすい。

どうも3連ラベルの切れ目のかすかなノリがプリンター内に残るようで、使用しているうちに用紙がジャムる傾向にある。数台のプリンタでジャムの発生を確認しているのでプリンタに依存していないと思う。

上記のいくつかはサポートセンターに再考を依頼したが、変化の気配はない。仕方ない。しかし、先日サポートサンターの方と電話で話した際、この記事は読んでくれている気配が感じられた。大企業さんにはいろいろ事情があるようだ。


「SQL Server 2005 Express」とメモリー



PCパワーが弱いとB2は重い。SQL Serverの重さだと思う。アプリケーションが立ち上がるまでに60秒かかる。立ち上げ後の動作も、ボタンを押すごとにSQL Serverは考えているようでストレスが溜まる。要はPCのメモリー不足が原因と思われる。

おそらくSQL Serverのチューニングをすれば・・・SQL Serverをインターネット検索するとどうも一般的に「メンテナンスフリー」や「チューニングフリー」データベースと見なされているようだ。理由はデータベースが自分でそのPCに搭載されている物理メモリを把握し最適なメモリ空間の構成しているウンヌン。詳細はわからない。

とにかくこの手のデータベースはメモリを食う。高速検索や高速データアップデートを行うために、おそらくハードディスクからテーブルのデータを可能な限り丸々RAM上に展開し、可能な限りHDD上での展開を回避しているためだと思う。

だから、SQL Serverを立ち上げるだけでまだ使用していないメモリー空間をたっぷり多めに確保してしまうのではないだろうか。

ACCESSは立ち上げると私の環境では30MBを消費するが、SQL Serverは300MBを消費する。物理メモリーをもっと豊潤に搭載すればもっと多くのメモリー空間がSQL Serverに確保され動作がスムーズになるのではないか?

円高の昨今、1GBのメモリも数千円程度、これしきの投資でサクサク動くようになれば数ギガでも10GBでも買いたいが、問題はB2がインストールされた運用機が10年くらい前のもの。メモリーの最大搭載数量は512MB!涙も枯れる。今時のPCは入門機でさえ2GBくらい普通に積んでいる昨今。PCの力不足は筆舌に尽くしがたい。

最近のPCは激安状態、最新機にリプレイスすることも考えたいが、現在この実機に構築されている複雑怪奇なソフトウェア環境をセットアップし直すことはかなりの負担。以上のような事情があり「実機PCはしばし変更できない、メモリーは増やせない」でデッドロック状態。重い「SQL Server 2005 Express」とどう折り合いを付けるか。


B2の設定を見直す。「基本設定」で起動が改善



送り状発行ソフトB2にはプリンターの割り当てや印字位置調整など多少ながらユーザーに設定を許す項目もある。

「メインメニュー」->「システム管理メニュー」->「基本設定」

この「基本設定」の中に「1日あたりの出荷個数」や「データ取込み時の各種マスタ登録」という項目がある。

「1日あたりの出荷個数」は宅急便500個などと設定する項目だが、この項目の趣旨を私は理解できないが、個数を多く取れば事前にメモリ空間を多く確保することが推測される。ならばギリギリ少ない方がよいのではないか。たとえば、最初安全とを見て一日の平均出荷個数を300に設定していたが100にしたらどうか?

さらに「データ取込み時の各種マスタ登録」もリソースを食いそうな項目である。登録ということはハードディスク上のテーブルに実際の書き込みをおこなっているだろうからその分がオーバーヘッドとなり重くなる。マスタ登録を必要としないのでOFFにする。

さて、上記2つの設定を行うと、意外にも簡単に軽快になった。立ち上がりは数十秒短縮した。

これに味をしめて一日の平均出荷個数を非現実的ながら1や0まで落としたらどうなるかテストしてみるが、100個以下には落とせない。100個以下に設定するとB2が強制的に100個に書き替える仕様になっている。これは「SQL Server 2005 Express」の仕様ではなくB2側でかけられた制限。

ならば、直接「SQL Server 2005 Express」の中身を操作できれば、ここの数字も操作できるかも・・・

SQL Serverのテーブルをいじる



目先「SQL Server 2005 Express」のあるフィールドの数値を変更したい。

C:\YTC\SQLServer\MSSQL.1\MSSQL\Data\B2SE.mdf

もしこのファイルがACCESSの「*.mdb」なら、ACCESSで開いていろいろ操作できるが、当然ACCESSのmdbファイルとは完全に別物らしい。まして、テキストとして開けるはずもない。どうやってこれを開いてテーブルのデータを書き替えるか?捜すと、なんと、おおMicrosoft社はちゃんと管理用のソフトも無償公開してくれていた。その名は

Microsoft SQL Server Management Studio Express (SSMSE)

まずはダウンロードしてインストール。起動すると「localhost\SQLEXPRESSに接続するか?」を聞かれる。

●SSMSの操作

「SQLEXPRESS」がどうやらインストールしたデータベースサーバの名前らしい。「インスタンス名」と書いているところもあった。インスタンスの意味がわからないので「サーバーのようなもの」と理解しておこう。

localhost\SQLEXPRESS

・┗Databases

・・┗System Databases

・・┗B2SE

「B2SE」がB2のデータベースであることは明白。反面「System Databases」が何なのかわからないが、とにかくデータベースファイルが何個が存在することがわかる。

B2SEの下にはテーブルが見える。

・┗B2SE

・・┗Databases Diagrams

・・┗Tables

この「Tables」には数十種類のテーブルが格納されていた。ネーミングから臭そうなものを片っ端に開いていく(テーブルを選んで右クリックで「テーブルを開く」)と「dbo.System_Kanri」というテーブルに下記のフィールドが見える。これがおそらく一日に出荷数量を設定している項目で、実際「100」が入っている。

yotei_hatu

yotei_mail

yotei_collect

yotei_smail

テーブル上で変更するとびっくりマークが出てくるので、どうもSSMSが「ここで変更してはいけない」と警告しているように感じられる。

ならば、RDBMSのオキテであるSQL文で変更するのだろうか?・・・とSSMS画面を見渡すと左上に「新しいクエリ」とか「実行」とかいうボタンがある。ACCESSならクエリとはすなわちSQLコマンドを意味するので、これに違いないと「新しいクエリ」ボタンを押す。するとSQL文の入力フィールドが表示された。唯一知っているSQLコマンド「select * from テーブル名」を入れ「実行」ボタンを押してみた。

☆ selectコマンドの入力

 (select * from System_Kanri)

意外にも簡単にテーブルの中身が表示される。では「一日の出荷予定数」と思われる次のフィールドを書き替える(更新)するコマンドをネットで検索するとupdateがよさそう。

「UPDATE <表名> SET <列名> = <値> WHERE <条件>」

yotei_hatu

yotei_mail

yotei_collect

yotei_smail

☆ updateコマンドの入力

 (「新しいクエリ」ボタン->SQL文の入力フィールド「実行」ボタン)

update System_Kanri set yotei_hatu=10

update System_Kanri set yotei_collect=10

update System_Kanri set yotei_smail=10

結果としてそれぞれ下記のメッセージが返された。

->「(1 row(s) affected)」

affectedは「影響された」なので「1列分のフィールドの更新完了」くらいの意味だろうか。

一日の予定出荷数量を「100」から「10」に変更。

そうやって変更しPCを再起動の上(PCをリセットしないとB2は2回目以降20秒程起動時間が短縮される)、B2を再起動・・・若干早くなった。しかし、この辺の計測は計測条件に注意しないと危ないので結論は急がない。今後ゆっくり観察したい。

●sqlcmd

なお、以上の操作はDOS窓からsqlcmdでも実施可能なようだ。sqlcmdの環境整備が大変だろうと踏んでいたが、DOSでsqlcmdと入力するとあっさり動作した。SQL Serverをインストールした時点で同時に環境が構築される模様。

sqlcmd /?・・・(ヘルプ)

sqlcmd -S localhost\SQLEXPRESS・・・(SQLEXPRESSに接続)

1>use B2SE・・・(データベース コンテキストの変更)

2>select yotei_hatu from System_Kanri

3>go・・・(実行)

4>quit・・・(終了, exitでもよい)








<< ページを開く時、特定フォームにカーソルを自動的に移動< | >
search
layout
admin

[▲page top]