AutoWeb

83. 動的コンボボックスの作成

動的コンボボックスとはデータ・ベースを読んで表示するコンボ・ボックス
のことです。
通常、動的コンボボックスを作成するにはRPGやCOBOLを使ってデータ・ベースを
読取ってコンボ・ボックスにする必要があると思われがちですが
AutoWebならRPGやCOBOLでコーディングする必要はありません。
ここでは担当者マスターを読取って表示する動的コンボボックスの作成を
紹介しましょう。

■担当者マスターを表示するコンボボックス

■動的コンボ・ボックスのDDSソース

   A                                  6 57' 担当者 '                         
   A            JUTANT    R    4A  B  6 66REFFLD(TANTOMR/TACODE QTRFIL/TANTO)
   A                                      TEXT('*COMBO *KEY')                
   A            TTNAM     R    8A  O  6 71REFFLD(TANTOMR/TTNAM QTRFIL/TANTO) 
   A                                      TEXT('*COMBO *DATA')               

[解説]

最初に担当者コード(JUTANT) は担当者マスター(= QTRFIL/TANTO )の参照フィールド(R)として
REFFLD(=Refference Field)として記述します。
このとき担当者コードがコンボ・ボックスのキーであることを TEXT(‘*COMBO *KEY’) として
記述しておきます。
担当者名(TTNAM)も担当者マスター(QTRFIL/TANTO)の参照フィールド(=レコード: TANTOMR, フィールドTTNAM)
として定義してコンボ・ボックスのデータであることを TEXT(‘*COMBO *DATA’) というように
記述しておきます。
この二つの記述によってAutoWebは動的コンボボックスとして認識してデータ・ベース: QTRFIL/TANTO を
検索するための動的プロシージャーを内部で生成して登録します。
動的プロシージャーはQUERY/400と同じような技術で動作しますのでかなり速く動作することができます。

■ 条件つきの動的コンボ・ボックス

動的コンボボックスは無条件に指定されたデータ・ベースのレコード全部を表示するのではなく
別の入力で東京本社が指定されたときは東京本社の担当者を表示して
横浜営業所が指定されたときは横浜営業所の担当者を表示するというような
制御をすることもできます。くわしくはマニュアルを参照してください。

■ その他の動的コンボ・ボックス

動的コンボ・ボックスは上記の記述で動的プロシージャーが内部で生成されて動作しますが
ユーザー自身でQUERYを使って動的コンボボックスを作ることもできますし
RPGやSQLを使うこともできます。
くわしくはマニュアルを参照してください。マニュアルはインターネットで24時間365日公開されており
どなたでも閲覧することができます。

■まとめ

いかがでしょうか?
動的コンボボックスであってもRPGやCOBOLを使うことなく簡単に生成することができます。
他社製品のようにJavaScriptや他の特殊言語を使って開発する必要もありません。
AutoWebならとにかく簡単なのです。