Skip to main content
10000+ Discussions
サンプル: onEdit extended triggerによるインクリメンタルサーチ機能

onEdit extended triggerによるインクリメンタルサーチ機能Author: takeuchi@fcs21.jp (richiet) onEdit extended triggerによるインクリメンタルサーチ機能  Uniface 9.6.04から、onEdit イベントが新しくTriggerに追加されました。  この機能は、ユーザによってEdit Box にデータが入力された後、イベントとしてトリガ イベントが実行されます。  この機能を使うことで、インクリメンタルサーチ機能を実現することが可能です。     インクリメンタルサーチとは、検索したい用語を1文字ずつ入力するごとに、その時点で該当する  候補一覧を表示しながら絞り込んでいく検索方法です。 [機能説明] 検索項目に文字入力後、Edit Box のonEditイベントが発生し、 Extended Triggersに定義されているTrigger onEditが実行されます。 Trigger onEdit には、入力された文字列を元に検索が実行されるコードを   予め定義しておくことで、インクリメンタルサーチ機能を実現できます。 [Trigger onEdit サンプルコード]   trigger onEdit  variables string vSearchProfile   endvariables   clear/e "CUSTOMER"   if (NAME.DUMENT != "")   vSearchProfile = "%%NAME.DUMENT%%%・*"   NAME.CUSTOMER = $lowercase(vSearchProfile)   retrieve/e "CUSTOMER"   if ($status != 0) NAME.CUSTOMER=""  endif   end; onEdit trigger [サンプル]  [内容]   検索項目に検索文字列を入力するごとに、その時点で該当する   候補一覧を表示しながら絞り込んでいく  [使用手順]   1. データベースにテーブル名、CUSTOMER が存在する場合は削除(Drop)してください。   2. ONEDITFRM.xmlファイルをUniface 9.6.04にインポートする   3. ONE

FAQ: インストール

インストールAuthor: takeuchi@fcs21.jp (richiet) [質問] Windows 7の環境でurouter および userver ユーザの作成に失敗する [回答]  パスワードのポリシー機能で「複雑さの用件を満たす必要があるパスワード」設定が  有効の場合、urouterおよびuserverのデフォルトのパスワードが用件が満たされていないため、  ユーザアカウントの作成に失敗します。 この場合、logフォルダのnewaccur.log,newaccus.logにエラー出力されます。  例) The username and/or password does not meet all password policy requirements. [パスワードのポリシー設定の確認方法] 1. スタート→プログラムとファイルの検索から「secpol.msc」を検索し、ローカルセキュリティポリシーを起動する。   2. セキュリィティの設定→アカウント ポリシー →パスワードのポリシーから 「複雑さの用件を満たす必要があるパスワード」設定値を確認ください。 [対応策] 「複雑さの用件を満たす必要があるパスワード」設定値を予め無効にしてUnifaceを再インストールしてください。   もしくは、以下の方法で用件を満たしたパスワードでurouter, userverの作成ください。 [ユーザの作成方法] 1. スタートメニューからコマンドプロンプトを選択した状態で      マウスの右クリックし、[管理者として実行]を選択する      備考 Windowのタイトルが「管理者: コマンドプロンプト」と表示されます。    2. <Unifaceインストールフォルダ>\\common/binに移動する    3. urouter /newacc userver /passwd P@ssw0rd      を実行し、userverユーザを作成する 実行例 E:\\application\\Uniface\\Uniface9602\\common\\bin>urouter /newacc userver /passwd P@ssw0rd Group <UNIFACE Server Users>

FAQ: Web 関連

Web 関連Author: takeuchi@fcs21.jp (richiet) 質問 日付属性キーフィールドのレイアウトに DIS(DD)が定義されている場合 reconnect"(再接続)エラーが発生する。 作業時間報告用の画面をダイナミックサーバページで作成しました。 次の処理を実行した場合、再接続エラーが発生します。  1. テーブルのキーに日付属性の項目が割り振られているテーブルを検索します。   日付属性の項目のフィールドレイアウトには DIS(DD)と定義されています。     2. onchange が定義されている任意のフィールドを編集し、Tabキーでカレント    フィールドを離れる 結果: Get Stateトリガのreconnect/readcheck を実行した結果、     当月分以外は"reconnect"(再接続)エラーが発生します。     エラー内容: reconnect testent.testmodel failed (Get State) $status = 1   回答 [原因]   Uniface DSPは、クライアントとサーバとの同期をとるため、以下の内容が実行されます。   1. ステップ2実行後、クライアントのブラウザからWebサーバにブラウザに    表示されている情報を送信します。   2. WEBサーバ側でUniface DSPが起動され、Get Sate トリガ呼ばれます。   3. ブラウザから受け取った情報を元にキー項目にアサインし、データベースに再接続します。   今回の場合ですと、Unifaceの仕様により、ブラウザ上では、日付属性の項目のフィールド   レイアウト DIS(DD)によって、月、年の情報が含まれていなたいめ、サーバ側はブラウザ   からは、日付項目の"DIS(DD)" のみ取得します。   ブラウザから送信された日付フィールドには年、月の情報がないため、現在のシステム日付から、   年、月をそれぞれ自動的に割り当て、キーを生成します。 生成されたキーは、本来データベースに   保存されているデータとは異るため、当月分以外は"reconnect"(再接続)エラーが発生します。   [例] システム日付