生産性を上げよう!Let‘s Go Tips
システムエンジニアの皆様は、「生産性向上!」という言葉を聞かれますと、反射的にシステム開発の生産性向上…品質を担保しつつ納期内にシステムを作る!工数改善させるぞ!(汗)と認識・反応すると思います。
非常に重要なことですし開発コストや自己評価に直結するわけですから、むしろ当然な所作だと思います。
PowerBuilderは、統合開発環境ですから、そう言った目的で生産性向上につながる機能も数多くあります。しかし、一度身に着いた操作の手順の方がむしろ自身で「コーディング時間も推し量れる」ので、強制でもされない限りどうしても新しく機能を読み解いて実際にテスト的にやってみて実感しながら覚える…このStepまで辿り着くにはなかなか…ではないでしょうか?表現は不適切かも知れませんが、「そんな…忙しいのにやってられないよ」「今のままで十分、結構生産性は高い方」「やるほど開発テーマないし、覚える時間は他のことに使いたい」などなどやや後ろ向きの理由で活用を見送る方が多いのではないでしょうか?
では、実際に開発したシステムを利用する方々にとっての「生産性向上」の機能追加は、どうでしょうか?
これは、必ず「やってみたくなる」こと間違いなしです!
なぜならば、利用する方々から直接「あれ、便利になりましたよ!お陰で助かっています。ありがとうございます」「あの機能で余計な心配事が減ったよ。ありがとう。」の感謝の気持ちや「ああ…アレなかったらシステム使わない(冗談っぽく)」と逆説的にお褒めのコトバに近いご意見などの感想を聞いたら嬉しいですよね。
ちょっとした些細なレベルの機能改良ですが、少し工数使って組み込んでみるだけでこのような評価に繋がるのであれば「やってみるのもいいかも?」と思っていただけたならば幸いです。
利用者に評価されるTips
今から、そのような機能をいくつか紹介したいと思います。
な~んだ、それくらいなら当たり前のように使っているよ…とお感じになられたらごめんなさい。
というのもご承知のように本サイトのTOPページのタイトルに「テクニカル」があり、これをクリックしま
すと、図のようにメニューが表示され、その一番右端に「Tips」というタイトルがあります。
このTipsは、PowerBuilderで開発スピード向上を目的とした機能や開発中に困った事象が発生した際の回避方法などのお役立ちツールや機能の紹介を簡潔に掲載しています。現在で、その数は約200件程度まで登録されています。お陰様で、アクセス数全体も増え続けております。
しかしながら、これまで色々とアクセス分析をさせていただいたところ、驚くことにアクセス上位の大半が「ユーザービリティを改善する、向上させる機能よりもPowerBuilderエンジニアがシステム開発する際に活用できる機能」に関する記事でした。お役に立てていること自体に大変感謝をしますが、システム利用者寄りの機能のTips記事へのアクセスが少ないことが、「逆目立ち」して意外に思いました。
私たちの方でも、検索方法・表現方法やアピールが少なかったのかな?と反省しておりますし、前述の通り、すでに活用中の場合もあるでは?と微かな期待も正直あります。
では、いくつかご説明したいと思います。
- ◆ システム利用中画面に異常が発生しているとの連絡が…。画面キャプチャを撮影せず、ウィンドウのハードコピーを簡単に印刷する
ウィンドウのハードコピーを印刷する
(※画面を印刷する機能だが、PDFプリンタを指定すればファイルとして出力できる)
利用者にとって入力業務中の突然のトラブルは大きなストレスが掛かります。そのような場合、予め操作方法を伝えておいて、今、目前で発生している内容をすぐ印刷(PDF化)してシステム担当者に送ることで早い解決に繋がります。
- ◆ 奇数ページだけ、または偶数ページだけを印刷する
奇数ページだけ、または偶数ページだけを印刷する
帳票を印刷する際に、奇数/偶数ページだけを印刷する方法
これも実際には、プリンタの機能を使うことが一般的ですが、そのためにプリンタ毎の設定を開いて操作するのですが、だったらシステムから指定した方が圧倒的に早いし、ミスも少ないです。紙の無駄も省けます。
- ◆ 条件に合わない値が入力されたときにフォーカス移動させない
条件に合わない値が入力されたときにフォーカス移動させない
データウィンドウのカラムに値を入力した際に、条件に一致しない場合は次のカラムにフォーカスを移動させない方法
ブラインド入力や何かの手違いで条件に合わないデータを入力して気づかないままに進めていって、後で気づいて最初からやり直し…確かに自分のミスだけど「だったら次に勝手にいくなよ(怒)」との心の中でのストレスは、これで解消?しますね。
- ◆ 重複値を除外してグループ単位の値を集計する
重複値を除外してグループ単位の値を集計する
すべての行ではなく、グループ毎のデータ1件のみを集計する方法
利用者から要望が割とあがる件数カウント機能ですね。「毎日と言っていいほど同じ商品の発注ある取引先だけど今月は現在どれだけA商品の発注あった?」などの回答…発注明細の紙に1件ずつ手書きでチェック入れて数えるのが面倒くさいのでシステムで計算して欲しい…などですね。
SQL構文の場合、DISTINCTとCOUNTを併用しながら処理構文を作るのが一般的ですが、PowerBuilderでは手早く作成できます。
- ◆ セキュリティを強固にするため、画面への入力のコピー&ペーストを禁止させたい!
■コピー&ペーストによる入力を制限する
コピー&ペーストによる入力を制限する
便利だけではNGで、しっかりと入力を要求する処理もありますので、これで安心ですね。
最後に…
- ◆ PowerBuilder で実現が難しい処理は、部分的に別の言語に頼るのもひとつの手です。
外部関数を使えば PowerBuilder での複雑な実装を驚くほどシンプルにすることも?
PowerBuilder から外部関数を利用する
PowerBuilder から外部関数を利用する
利用者から「なんでAシステム(PowerBuilderじゃない言語で開発したシステム)では出来るのに、このBシステム(PowerBuilderで開発)では同じように出来ないの?痒いところに手が届いていない感じ…」と言われて、よくよく分析すると同じように表現するには少し複雑な処理と判断したら、Windows APIなどの利用で外部では実現している処理を実装することができます。
いかがでしたか?「開発者としての生産性向上」はもちろん大切ですが、利用者に感謝・評価されるような機能の情報がもっともっとあるかも知れません。ぜひTipsで探してください。レッツラゴー!Tips