Skip to main content
  • 4,113 Discussions
  • 0 Replies
4113 Discussions
サンプル: PROC命令entitycopyを使ってのサンプル

PROC命令entitycopyを使ってのサンプルAuthor: takeuchi@fcs21.jp (richiet) PROC命令entitycopyを使ってのサンプルです [機能説明] PROC命令entitycopy を/cpyと同じ方法でレコードをエクスポートし 同じ構成の別のエンティティにレコードをコピーする/p> [プログラムサンプル]     entitycopy "TXT:TXTTEST.TXT", "XML:TXTTEST.XML"      でXML形式にエクスポート後、XMLファイルを開き、コピー先のモデル名      およびエンティティ名を修正します。      次に修正したファイルをentitycopy "XML:TXTTEST.XML", "DEF:" でインポートします。 [環境設定]   対応バージョン: Uniface 9.6以上  ファイル名    : CPYTXTTODB.zip                     CPYTXTTODB.xml                      Readme.txt  (サンプル説明)                      TXTTEST  (サンプルデータ)                       

サンプル: 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.

サンプル: sql/dataの紹介

sql/dataの紹介Author: takeuchi@fcs21.jp (richiet) sql/dataの紹介  Proc命令、sql/printで以下のようなSQLを実行した場合、フィールド定義によっては  大量の空白が付加されます   select * from testent  PROC命令、sql/printには、これらの空白を削除するオプションが  用意されておりません。このため、Uniface 9.6.04より新機能、sql/dataが  用意されました。   [機能説明] sql/dataの戻り値は、Proc命令、 sql/printとは異なり、文字型のリスト形式で$resultに  結果が返されます。  なお、各項目の後ろの空白は、retriev/e命令でエンティティを検出した場合と同様、  自動的に削除されます。 リスト形式の結果を各フィールドにアサインする場合は、Proc 命令、forlistを使用し、  各レコードのフィールドの値を取得してください。 例) テーブル名、 T にフィールド、A,Bが定義されていて、それぞれのフィールドの値が、    3つ登録されている場合、    A B    1 2    3 4    5 6    sql/data “SELECT * FROM T”, “DEF” の実行結果、$resultは、    1·!·;2·;3·!·;4·;5·!·;6 が返されます。    <備考> 合計3つのリストが存在し、各リストは2つのフィールド(A,B)値が登録されている   各フィールドに値をセットする場合、forlistで各フィールドの値を取得する      forlist vRecord in $result     getitem vFIELD1, vRecord, 1     getitem vFIELD2, vRecord, 2     <コーディング>    endfor [サンプル]  [内容]   Proc命令、sql/data/fieldname でデータベースから各レコードの項目名および、   値を取得し、ダミーテーブルに値をセットする  [使用手順]   1. データベースにテーブル名、TESTENTが存在する場合は削除(Dr

FAQ: ライセンス

ライセンスAuthor: takeuchi@fcs21.jp (richiet) 質問 Windows環境でのライセンスチェック方法の変更について 回答 各バージョンのUniface出荷後にサポート対象に含まれたWindows OSは、全て"UWXP"で認証されておりました。 例) Uniface 9.3.02をWindows 7環境で動作するには”UWXP”のFeatureが存在すれば稼働しました。    しかし、次期パッチP222(Uniface9.3.02)もしくは、パッチR114(Uniface9.4.01)の適用後は、以下のように認証されるように変更になります。 パッチ番号 Unifaceバージョン P222 Uniface 9.3.02 R114 Uniface 9.4 プラットフォーム      Feature名 MS-Windows 2000 (32 bit) UW2K および UW32 MS-Windows XP Professional Edition SP2 (32b/64b) UWXP および UW32 Windows Server 2003 Enterprise Edition (32b/64b) UWN1 および UW32 Windows Server 2008 (32b/64b) UWN2 および UW32 Windows Server 2008 R2 (32b/64b) UWN2 および UW32 Windows Vista Business Edition (32b/64b) UWV1 および UW32 Windows 7 (32b/64b) UW71 および UW32 Windows Mobile 5 UWCE 現在、お客様がお持ちのライセンスで、上記のWindows OSと、Feature名の組み合わせが異なる場合には、 パッチ導入後、動作が出来なくなります。 新たなFeatureに変更する場合にはフラットフォーム変更が発生致します。 詳しくは、弊社営業窓口まで問い合わせをお願い致します。

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"(再接続)エラーが