AutoWeb

35. POPUP検索

POPUP検索とはコード検索のためのPOPUPウィンドウを生成する機能のことです。
IBM iのユーザーも独自でRPG/COBOLなどで数多くのPOPUPウィンドウを作って
中にはPOPUPの上にさらにPOPUPを重ねたりしているところも
ありますがあまり複雑にするのはエンド・ユーザーにとって
操作を余計にわかりにくくしますので注意が必要です。

しかしこれからご紹介するAutoWebによるPOPUPウィンドウは

・POPUPウィンドウを開発する必要がない

・簡単なDDS記述だけで済みます。

・優れたパフォーマンスを発揮します。

・QUERYのようなあいまい検索や一部検索が可能です。

・大量データ・ベースに対しても快適なパフォーマンスが得られます。

QUERY/400RPG/COBOLもPOPUPに組み込むことができます。

などの多くの利点に溢れています。

次はPOPUPウィンドウが表示されている状況を示しています。

[解説]

POPUPウィンドウが使用可能なフィールドには虫メガネのアイコンが端に表示されます。
この虫メガネのアイコンをクリックすると次のようにPOPUPウィンドウが表示されます。

■ DDSソースへの POPUPの記述

     A            JHCODE    R        B  9  7REFFLD(SHOHINR/SHCODE QTRFIL/SHOHIN)
     A                                      TEXT('*POPUP SHCODE,SHNAME,SHTANK)
                  :
     A            SHNAME    R        O  9 18REFFLD(SHOHINR/SHNAME QTRFIL/SHOHIN)
     A            JUTANK    R    7Y 0B  9 55REFFLD(SHOHINR/SHTANK QTRFIL/SHOHIN)

[解説]

DSPFのDDSソースには REFFLD で参照フィールドとして検索するコードと
埋め込む名前や数量を定義します。
検索するコードのテキストには

   TEXT('*POPUP SHCODE,SHNAME,SHTANK)

と記述します。文字列 *POPUPに続いて検索するコード: SHCODE で埋め込むフィールドを
連続して記述します。

■ POPUP絞込み検索

POPUP検索な様々な方法での絞込み検索が可能です。

(1)特定のフィールド値のみを選択して検索する

例えば品種コードを指定してその品種コードだけの
商品レコードだけを抽出できるようにします。

通常の検索であれば

        TEXT('*POPUP SHCODE, SHNAME)
      

として検索しますがここでは品種コード: HNSCOD による絞込みのために
    WHERE句を追加して

    TEXT('*POPUP SHCODE, SHNAME WHERE SHSCOD = '&HNSCOD')
      

    

のようにすれば指定した品種コードに等しいレコードだけを
抽出することができます。
くわしくはマニュアルをご参照ください。

(2) プロシージャーによる POPUP検索

自分で作成したストアド・プロシージャーを検索用に指定することができます。

(3) 総称(*)によるあいまい検索

検索するコードに「NV*」のように後続に文字 * 付加して検索を指示すれば
NV-CF1, NV-456, … のように あいまい検索ができます。

(4)指定の文字列を含むものだけを検索

検索コードの両端に文字 * または % で挟んで「*F8*」または「%F8%」のようにして
検索すれば文字列「F8」を検索コードのどこかに含んでいるものだけが
抽出されます。

(5)一意選択を利用する

コードを入力するとそのコードに対応する品名が続けて表示され単価も表示したいと
いう要求は多いものです。
POPUP検索を指定しておくとこのような操作も可能になります。

■POPUP検索のパフォーマンスと従来型POPUPとの比較

 

AutoWebのPOPUP検索はストアド・プロシージャーを起動しますがこれは
元の実行中のプログラムのスレッド(PROCESS)とは別のスレッド(PROCESS)で
実行されます。
従ってIBM i にかける負担は少なく最初の実行には時間がかかる場合も
ありますが一度でも使用されると数千件のレコードでもわずかのあいだに
 結果を出す高速のパフォーマンスで実行されます。
何よりの利点はプログラムの開発が全く必要ないことです。
今までPOPUPウィンドウの開発が苦手だった人でも
悩むことなくPOPUPを適用業務に追加することができます。
AutoWebの導入後のPOPUPはすべてPOPUP検索で統一して行われることを
お勧め致します。